![]() |
undeclared identifier
Hallo! :-D
Ich bin neu hier und sitze erst seit zwei Tagen wieder an Delphi. Ich hab Pascal und ein wenig Delphi in der Schule gelernt und habe eine bestimmt ganz einfache Frage. Ich versuche Daten einer csv-Datei zu verarbeiten und habe schon im Forum die passenden Posts gefunden. Ich beziehe mich hier auf: ![]() Wenn ich das erste Beispiel übernehme bekomm ich beim Versuch das Programm zu starten "undeclared identifier: 'Append'" zu hören. Genausowie bei 'Fields' und 'Post'. (Als <deinetabelle> habe ich eine Listbox gewählt.) Wie muss ich diese denn deklarieren? Das sind ja keine Variablen sondern "Arbeitsanweisungen" (ich versuch gar nicht erst den richtigen Ausdruck im Fachjargon zu finden :wink: ). Schönen Gruß Yann |
Re: undeclared identifier
Die Dinger heißen Prozeduren, Funktionen oder einfach Routinen.
Wenn die undeclared sind, musst du einfach die entsprechende Unit einbinden, das wäre hier wohl SysUtils. |
Re: undeclared identifier
Dieses <deinetabelle> ist irgendso'ne Datenbankkomponente ... eine "normale" TListBox kennt sowas nicht.
Hab zwar keine Ahnung davon, aber für mich sieht es so aus, als wenn diese Befehle irgendwie die DBsteuern ._. [add] @3of8: das Append ist hier nicht die Procedure zum öffnen einer Datei :zwinker: |
Re: undeclared identifier
kannst Du mal bitte Deine angepasste Methode hier hinein stellen.
Vielleicht ist es dann einfacher auf Deine Probleme einzugehen. Grüße Klaus |
Re: undeclared identifier
Ok, hier ist die gesamte Unit.
Das ganze eingeklammerte sind die letzten Fehlschläge, aber ich glaube mit der Methode bin ich meinem Ziel am nächsten also erstmal nicht beachten! :wink:
Delphi-Quellcode:
Vielleicht sei noch angemerkt, dass ich letztendlich die Daten grafisch verarbeiten möchte. Wenn ich die erstmal als Integer-Werte habe, ist alles klar, hoffe ich.
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, FileCtrl, ComCtrls, ShellCtrls, Buttons; type TDatei = class(TForm) Dateiliste: TFileListBox; Dateityp: TFilterComboBox; OK: TButton; Ordner: TDirectoryListBox; Esc: TButton; DriveComboBox1: TDriveComboBox; ListBox1: TListBox; Laden: TButton; OpenDialog: TOpenDialog; procedure EscClick(Sender: TObject); procedure OKClick(Sender: TObject); procedure LadenClick(Sender: TObject); private s : tstringlist; public Parameter: TStringlist; end; var Datei: TDatei; implementation uses GraphProg; {$R *.dfm} procedure TDatei.EscClick(Sender: TObject); begin close; end; { procedure TDatei.SetNames(names: string); var j: integer; begin FNames.DelimitedText := parameter[Item.Index]; for j := 0 to Pred(FNames.Count) do begin graph.Canvas.Pixels[100, Strtoint(Fnames[j])] := clRed; end; end; } procedure TDatei.OKClick(Sender: TObject); var slTemp: TStringlist; i: Integer; begin listbox1.clear; slTemp := TStringlist.Create; try slTemp.LoadFromFile(Dateiliste.Filename); for i := 0 to slTemp.Count - 1 do begin ListBox1.Items.Add(slTemp.Strings[i]); end; finally FreeAndNil(slTemp); end; end; { procedure TDatei.LadenClick(Sender: TObject); var i : integer; s : tstringlist; t : string; begin s:= tstringlist.Create; {t:= tstringlist.Create;} { try s.LoadFromFile(Dateiliste.Filename); for i := 0 to s.Count -1 do begin t := s.Strings[i]; graph.Canvas.Pixels[10, strtoint(t)] :=clred ; end; finally freeandnil(s); end; end; } procedure tdatei.ladenClick(Sender: TObject); var SL: TStringList; i: Integer; T: Textfile; SInString: String; begin if (opendialog.Execute) then begin SL := TStringList.Create; try AssignFile(T,opendialog.FileName); Reset(T); while (not Eof(T)) do begin ReadLn(T,SInString); SL.Delimiter := ';'; SL.DelimitedText := SInString; listbox1.Append; for i := 0 to SL.Count-1 do listbox1.Fields[I].AsString := SL.Strings[i]; listbox1.Post; end; finally SL.Free; end; end; CloseFile(T); end; { procedure TDatei.LadenClick(Sender: TObject); var Para: TStringlist; j: Integer; Wert: integer; begin parameter := TStringlist.Create; parameter.LoadFromFile(Dateiliste.Filename); FNames.DelimitedText := parameter[0]; for j := 0 to Pred(FNames.Count) do begin graph.Canvas.Pixels[100, Strtoint(Fnames[j])] := clRed; end; parameter.Delete(0); end; procedure TDatei.LadenClick(Sender: TObject); var wert: integer; i : integer; begin } { para := dateiliste.Items[0]; wert := Strtoint(para); } { close; try parameter := tstringlist.create; parameter.LoadFromFile(Dateiliste.Filename); setnames(parameter[0]); begin Bitmap := TBitmap.Create; try with Bitmap do begin LoadFromFile('C:\Dokumente und Einstellungen\Yann\Eigene Dateien\Eigene Bilder\graph\koordinatensystem1.bmp'); graph.Canvas.Draw(0,0,BitMap); end; finally Bitmap.Free; end; end; for i := 0 to dateiliste.InstanceSize - 1 do begin graph.Canvas.Pixels[i*10, 100] := clRed; end; finally FreeAndNil(parameter); end; end; {procedure TDatei.DateilisteChange(Sender: TObject); begin if dateiliste.Filename = 'gaga.ink' then ok.Enabled := true; {else datei.laden.Enabled := false; if datei.Dateiliste.Filename = '*.*' then datei.ok.Enabled := true else datei.ok.Enabled := false; end; } end. |
Re: undeclared identifier
Vielleicht so?
Delphi-Quellcode:
Vielleicht liege ich auch total daneben.
procedure tdatei.ladenClick(Sender: TObject);
var SL: TStringList; i: Integer; T: Textfile; SInString: String; begin if (opendialog.Execute) then begin SL := TStringList.Create; try AssignFile(T,opendialog.FileName); Reset(T); while (not Eof(T)) do begin ReadLn(T,SInString); SL.Delimiter := ';'; SL.DelimitedText := SInString; listbox1.columns:=SL.Count; for i := 0 to SL.Count-1 do listbox1.Items.add(sl.Strings[i]); { oder alles in einem Rutsch listbox.items.add(sl.text); } end; finally SL.Free; end; end; CloseFile(T); end; Grüße Klaus |
Re: undeclared identifier
Wow, fantastisch!
Das funktioniert super. Ichs nur noch nicht ganz nachvollzogen. Jedenfalls kommen die kommagetrennten Werte in "sl.Strings[i]" raus, oder? Wenn ich jetzt schreibe "Strtoint(sl.Strings[i])" werden dann nicht jeweils die Strings in Integer-Werte umgewandelt (falls möglich) und ich kann sie weiterverwenden? Vielen Dank! Yann |
Re: undeclared identifier
In der Stringlist sind die Werte die in der csv Datei mit
einem ; getrennt waren in Zeilen angeordnet. 1;2;3;4 ist in der Stringlist 1 2 3 4 Auf diese Strings kannst Du mit Stringlist.Strings[i] zugreifen und damit machen was so alles erlaubt ist. Grüße Klaus |
Re: undeclared identifier
Super! :-D
Die grafische Umsetzung klappt auch sogleich! Nochmals vielen Dank! Das ist ein starkes Forum hier, mit so vielen Mitgliedern online. Toll! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz