Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Problem mit string array (https://www.delphipraxis.net/150479-problem-mit-string-array.html)

danidano 18. Apr 2010 11:16


Problem mit string array
 
Hallo.

Ich habe ein Array vom Typ String und möchte da einen etwas längeren string reinschreiben... aber irgendwie geht das nicht...

also es sieht so aus:

Delphi-Quellcode:
feld : array of string;

For i := 1 to laenge do
begin
    feld[i] := feld[i] + Edit1.Text;
end;
Ich hab jetzt mal der Übersichtlichkeit halber auf setlength etc. verzichtet..

In feld steht überall bereits ein string drinnen und den möchte ich einfach nur erweitern...
aber der Compiler zeigt mir folgenden Fehler an:
Zitat:

Incompatible Types: Char and String
aber es ist ja oben eindeutig als string vereinbart worden!
Oder sollte ich einen anderen Datentyp verwenden als string? aber welchen?
Hauptsache ist ich kann das ganze am Schluss in eine BDE Tabelle (Paradox 7) in ein Feld vom Typ Alpha einspeichern..

DeddyH 18. Apr 2010 11:23

Re: Problem mit string array
 
Zeig einmal den ganzen Code.

Christian Seehase 18. Apr 2010 11:26

Re: Problem mit string array
 
Moin danidano,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Um Detlefs Aussage mal zu erweitern:
Die Fehlermeldung dürfte nicht bei obigem Code erscheinen.

himitsu 18. Apr 2010 11:32

Re: Problem mit string array
 
einfache Theorie:
"Feld" ist eine globale Variable
und es gibt noch eine andere lokale Variable, welche als "Feld: String;" deklariert ist.
(oder was Ähnliches)

DeddyH 18. Apr 2010 11:41

Re: Problem mit string array
 
Zum Beweis ein Beispielprojekt mit einem Memo:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var arr: array of String;
    i: integer;
begin
  SetLength(arr,3);
  for i := Low(arr) to High(arr) do
    arr[i] := 'Hallo';
  for i := Low(arr) to High(arr) do
    Memo1.Lines.Add(arr[i]);
  for i := Low(arr) to High(arr) do
    arr[i] := arr[i] + ' Welt';
  for i := Low(arr) to High(arr) do
    Memo1.Lines.Add(arr[i]);
  SetLength(arr,0);
end;
Funktioniert ohne Murren.

[edit] Crossposts bitte künftig verlinken. [/edit]

danidano 18. Apr 2010 11:54

Re: Problem mit string array
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
    h : string;
begin

     For i := 0 to StrToInt(laengeKalender) do
     begin
         if feldTag[i] = Calendar1.Day then
         begin
             h := feldNotiz[i] + ' ' + Edit1.Text;
             feldNotiz[i] := h
         end;
     end;

(...)
also so sieht mein code aus.
Ja, feldNotiz ist eine globale Variable, das muss sie aber auch sein, da ich sie in mehrern Prozeduren benötige.
muss ich etwa in dieser Prozedur ein lokales array machen und dann in dann später alle Daten vom lokalen array in das globale array einspeichern??

Ich versteh nicht warum das nicht mit globalen Variablen auch gehen sollte.

DeddyH 18. Apr 2010 11:57

Re: Problem mit string array
 
Wie sind feldtag und feldnotiz denn deklariert?

danidano 18. Apr 2010 12:06

Re: Problem mit string array
 
Delphi-Quellcode:
  feldTag : array of integer;
  feldNotiz : string;
sind beides globale Variablen

DeddyH 18. Apr 2010 12:09

Re: Problem mit string array
 
Wenn, dann muss feldNotiz ja ein Array of String (oder besser Shortstring, siehe DT) sein.

danidano 18. Apr 2010 12:13

Re: Problem mit string array
 
ACH DZ MEINE GÜTE!!!!
Ich könnte mich selbst erwürgen.
So ein bescheuerter Fehler und cih komm erst jetzt drauf...
Sorry :wall:

Hab total vergessen array of hinzuschreiben... ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:29 Uhr.
Seite 1 von 2  1 2      

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