AGB  ·  Datenschutz  ·  Impressum  







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

undeclared identifier

Ein Thema von Yann · begonnen am 27. Jul 2006 · letzter Beitrag vom 27. Jul 2006
Antwort Antwort
Yann

Registriert seit: 26. Jul 2006
Ort: Starnberg
4 Beiträge
 
Delphi 6 Personal
 
#1

undeclared identifier

  Alt 27. Jul 2006, 13:51
Hallo!

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:
http://www.delphipraxis.net/internal...t.php?p=480681

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 ).

Schönen Gruß
Yann
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: undeclared identifier

  Alt 27. Jul 2006, 13:54
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.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#3

Re: undeclared identifier

  Alt 27. Jul 2006, 13:56
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
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: undeclared identifier

  Alt 27. Jul 2006, 13:57
kannst Du mal bitte Deine angepasste Methode hier hinein stellen.
Vielleicht ist es dann einfacher auf Deine Probleme einzugehen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Yann

Registriert seit: 26. Jul 2006
Ort: Starnberg
4 Beiträge
 
Delphi 6 Personal
 
#5

Re: undeclared identifier

  Alt 27. Jul 2006, 14:07
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!

Delphi-Quellcode:
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.
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.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: undeclared identifier

  Alt 27. Jul 2006, 14:39
Vielleicht so?

Delphi-Quellcode:
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;
Vielleicht liege ich auch total daneben.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Yann

Registriert seit: 26. Jul 2006
Ort: Starnberg
4 Beiträge
 
Delphi 6 Personal
 
#7

Re: undeclared identifier

  Alt 27. Jul 2006, 14:56
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
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: undeclared identifier

  Alt 27. Jul 2006, 15:02
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
Klaus
  Mit Zitat antworten Zitat
Yann

Registriert seit: 26. Jul 2006
Ort: Starnberg
4 Beiträge
 
Delphi 6 Personal
 
#9

Re: undeclared identifier

  Alt 27. Jul 2006, 15:06
Super!
Die grafische Umsetzung klappt auch sogleich!

Nochmals vielen Dank! Das ist ein starkes Forum hier, mit so vielen Mitgliedern online. Toll!
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:37 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