AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Werte an Array übergeben?

Ein Thema von Pseudemys Nelsoni · begonnen am 19. Dez 2004 · letzter Beitrag vom 31. Okt 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Lukaro
Lukaro

Registriert seit: 24. Mai 2005
Ort: NRW->OWL
16 Beiträge
 
Delphi 2005 Personal
 
#11

Re: Werte an Array übergeben?

  Alt 31. Okt 2005, 10:47
Naja, ich dachte eher, ich könnte den Quelltext damit verkleinern und vereinfachen, (ich nehme mal an, dass ihr die Frage richtig verstanden habt, gab ja 3 Beispiele *g*) und nich noch etwa anfangen zu rechnen oder so.

Es geht einfach nur darum einen Array, der 9 Strings beinhaltet mit "hardgecodeten" Strings zu füllen. Naja, dann mache ichs halt weiter mit 9 Zeilen, aber danke für die Antworten

Lukaro
A Programer is just a Tool that converts Coffein into Code.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#12

Re: Werte an Array übergeben?

  Alt 31. Okt 2005, 11:00
Bei meiner Variante musst du nicht rechnen, du musst nur ein einziges Mal diese paar Zeilen rund um "implementation" hinzufügen. Danach hast du eine komfortable Funktion (komfortabler geht es eigentlich nicht mehr), die du im Code verwenden kannst, ohne überhaupt zu wissen, was Pointer sind.
Ich finde sie jedenfalls elegant .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Net7
Net7

Registriert seit: 22. Jun 2004
Ort: Lauenburg
161 Beiträge
 
Delphi 7 Professional
 
#13

Re: Werte an Array übergeben?

  Alt 31. Okt 2005, 11:02
Zitat von Lukaro:
Naja, ich dachte eher, ich könnte den Quelltext damit verkleinern und vereinfachen, (ich nehme mal an, dass ihr die Frage richtig verstanden habt, gab ja 3 Beispiele *g*) und nich noch etwa anfangen zu rechnen oder so.

Axxxooooooooo Ich machs mit einer.

na dann so.

Delphi-Quellcode:

const meinehardcorestrings: array[1..50] of string = ('bla','blabla','blubb',usw
Gruß Net7.
Marko
So`ne Atombombe kann einem den ganzen Tag verderben!
Eine eigene DLL in C++ geschrieben wird meist ein Sklave für mein Delphi/Pascal.
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#14

Re: Werte an Array übergeben?

  Alt 31. Okt 2005, 11:10
Ich hab noch ne variante, die der geforderten wohl am nähesten kommt:

Delphi-Quellcode:
type

   TPointerArr = array [0..3] of pointer;

procedure Setpointers(var pointers:TPointerArr; const values:array of pointer);
var
   i:integer;
begin
   for i := 0 to Pred(Min(Length(pointers), Length(Values))) do
      pointers[i] := values[i];
end;

...

procedure TForm2.Button1Click(Sender: TObject);
var
   ps : TPointerArr;
begin
   Setpointers(ps, [pointer($bad74f),pointer($bad74f),pointer($bad74f)]);
end;
das geht natürlich nur wegen den dynamischen-array-konstruktoren, die man bei const-array-parametern zur verfügung hat.
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Werte an Array übergeben?

  Alt 31. Okt 2005, 11:13
@Khabarakh & @Net7: Ich dachte solche Varianten gehen nur wenn man mit Konstanten werten arbeitet so das sie letztendlich zum Zeitpunkt des compilierens in feste Adressen gewandelt werden können. Bei Pseudemys Nelsoni geht es ja aber darum die Werte einer Variablen in so ein Array zu packen und da wird nix konstant definiert sein (sonst könnte er ja auf die Werte verzichten)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#16

Re: Werte an Array übergeben?

  Alt 31. Okt 2005, 11:21
Zitat von Khabarakh:
Es ist auch mit nicht konstanten Werten Möglich, und zwar per Template: [...]

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  sArray: StringArray;
  i: Integer;
  s: string;
begin
  Randomize;
  s := StringOfChar(Chr(Ord('A') + Random(Ord('Z') - Ord('A') + 1)), Random(20));

  sArray := FillArray(['*blubb*', 'Hello', 'World', '*blubb*', s]);
  for i := 0 to High(sArray) do
    ShowMessage(sArray[i]);
end;
Funktioniert ebenfalls.

[edit]Bei der Konstante von Net7 hast du natürlich Recht. [/edit]
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Net7
Net7

Registriert seit: 22. Jun 2004
Ort: Lauenburg
161 Beiträge
 
Delphi 7 Professional
 
#17

Re: Werte an Array übergeben?

  Alt 31. Okt 2005, 11:22
Zitat von SirThornberry:
@Khabarakh & @Net7: Ich dachte solche Varianten gehen nur wenn man mit Konstanten werten arbeitet so das sie letztendlich zum Zeitpunkt des compilierens in feste Adressen gewandelt werden können. Bei Pseudemys Nelsoni geht es ja aber darum die Werte einer Variablen in so ein Array zu packen und da wird nix konstant definiert sein (sonst könnte er ja auf die Werte verzichten)

Hmm dann war ja mein erstest Beispiel doch richtg. (also richtig gelesen )

Zitat von Pseudemys Nelsoni:
achja...wer jetzt an eine schleife denkt - wird kaum gehen, da ich keine strings verwende sondern pointer auf variablen..
Variablen könnten ja jeden Typ haben. Also muss er Typenlos übergeben können.
Marko
So`ne Atombombe kann einem den ganzen Tag verderben!
Eine eigene DLL in C++ geschrieben wird meist ein Sklave für mein Delphi/Pascal.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz