Autor Beitrag
delphiUSER5
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 01.02.12 21:18 
hi,
bin neu hier und hab nach INTENSIVER suche nix gefunden was mir hilft.
mein problem:

ich habe 3 arrays
ausblenden Delphi-Quelltext
1:
2:
3:
zahl1 : array of INTEGER;
zahl2 : array of INTEGER;
zahl3 : array of INTEGER;

und
ausblenden Delphi-Quelltext
1:
2:
feld : TARRAYFIELD;
t : STRING;

ich möchte nun dass ich "feld" einen namen geben kann z.B.: " feld.Name := 'zahl1'; " sodass ich mit "feld" auf die arrays zugreifen kann. ich weiß nicht weiter, weil ich nicht " t := feld.Name " setzen kann! ich weiß nicht wieso ich den array-namen nicht in einen string schreiben kann

bitte um HILFE, dringend :D
DANKE

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19345
Erhaltene Danke: 1753

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 01.02.12 21:22 
Hallo und :welcome:

Was haben denn deine Integer-Arrays mit dem Datenbankfeld feld zu tun? :gruebel:
Ist dir denn klar was TArrayField eigentlich macht? Dass es für die Verwendung in Datenbankzugriffen ist?

Es wäre hilfreich, wenn du schreibst was du eigentlich erreichen willst...
delphiUSER5 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 01.02.12 21:29 
danke ;p
ja ich dachte dass ich mit Tarrayfield auf die arrays zugreifen kann und habe auch nichts anderes bei google etc. gefunden.
ich möchte eine variable haben, der ich einen string wert zuweisen kann und dann damit auf den array mit dem namen zugreifen;
vllt was kompliziert aber quasi so (nur als beispiel, funktioniert ggf ja garnicht bei delphi):

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
Var name1 : STRING;
    zahl1 : Array of Integer;
    variable_fuer_zugriff : Tiwas;

begin

  setlength(zahl1,5);
  name1 := 'zahl1';
  variable_fuer_zugriff.name := name1;
  variable_fuer_zugriff[1] := 16;

end;


"variable_fuer_zugriff" ist also nur eine variable für "zahl1"

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19345
Erhaltene Danke: 1753

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 01.02.12 21:43 
Ich glaube ich weiß was dein eigentliches Problem ist. ;-) Meinst du vielleicht das?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
type
  TIntegerArray = array of Integer;
var
  zahl1: TIntegerArray;
  zahl2: TIntegerArray;
  zahl3: TIntegerArray;
  MeineZahl: TIntegerArray;
begin
  ...
  MeineZahl := zahl1;
  MeineZahl[0]...
  ...
  MeineZahl := zahl2;
  ...
Hintergrund:
Wenn du jede Zeile einzeln mit "array of integer" als Typ deklarierst, sind das für Delphi jeweils eigene Typen. Wenn du allen den selben Typen gibst wie hier, kannst du die auch untereinander zuweisen.

Einfache Alternative (das oben war vor allem zur Demonstration gedacht): ;-)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
var
  zahl1, zahl2, zahl3, MeineZahl: array of Integer;
begin
  MeineZahl := zahl1;

Für diesen Beitrag haben gedankt: delphiUSER5
delphiUSER5 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 01.02.12 21:51 
genau das, DANKE vielmals;
aber das hier läuft nich?!
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
 type  TFIELD1 = ARRAY OF INTEGER;

  TYPE Tvokabel = RECORD
                   s : STRING;
                   feld : TFIELD1;
                   ort : TListBox;
                   stelle, vocRank : INTEGER;
                 end;

var
  FoVoc_ask: TFoVoc_ask;
  i, lines: Integer;
  pfad : STRING;
  Mgs: TMsg;
  zahl1 : ARRAY OF INTEGER;
  zahl2 : ARRAY OF INTEGER;
  zahl3 : ARRAY OF INTEGER;
  voc : ARRAY OF Tvokabel;



implementation


{$R *.DFM}

procedure TFoVoc_ask.setvoc;
VAR j : INTEGER;
begin
  SetLength(zahl1, LBoxSort1.Items.Count);
  SetLength(zahl2, LBoxSort1.Items.Count);
  SetLength(zahl3, LBoxSort1.Items.Count);
  SetLength(voc, LBoxSort1.Items.Count);

  FOR j := 0 TO LBoxSort1.Items.Count-1 DO
  begin
    With voc[j] DO
    begin
      s := LBoxSort1.Items.Strings[j];
      ort := LBoxSort1;
      feld := zahl1;
      {stelle := j;
      vocRank := 0;
      zahl1[j] := 0; }

    end;
  end;
end;

beim rot markierten kommt: Inkompatible Typen

Moderiert von user profile iconNarses: Beiträge zusammengefasst

sry fehler gefunden : zahl1 : TFIELD1 !!!

DANKEE nochmals :D
Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt