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/)
-   -   Delphi Text File Einlesen und als Datenbank Datei ausgeben (https://www.delphipraxis.net/69726-text-file-einlesen-und-als-datenbank-datei-ausgeben.html)

Andidreas 19. Mai 2006 08:53


Text File Einlesen und als Datenbank Datei ausgeben
 
hi,

ich brauch mal wieder eure hilfe...

über ein Windows Script hol ich mir von einem ftp Server ein .txt file runter...
diese .txt file muss ich anschließend als eine datenbankt datei ausgeben...

ich hab jetzt leier ein paar probleme beim einlesen des text files, vielleicht kann mir hierbei jemand helfen...

hier wäre mal die komplette procedure:

Delphi-Quellcode:
procedure TMain_Form.bitbtn_createClick(Sender: TObject);

var

File_ZPDM : File;
Row_S    : String;
Row_R    : TZPDM_Record;
i        : integer;

begin

  ListBox_Msg.Items.Add('DB-Datei wird erstellt...');
  bitbtn_exit.Enabled := False;

  i := 2;

  {$I-}
  AssignFile(File_ZPDM,'..\TXT_File\Datei.TXT');
  Reset(File_ZPDM,i);
  SetLength(Row_S,261);
  ReadLn(File_ZPDM,Row_S,261);
    If IOResult <> 0 Then
      ShowMessage('Einlesen der Textzeile ist Fehlgeschlagen')
    Else
      AddDBFile();
  CloseFile(File_ZPDM);
  {$I+}

end;
bei meinem readln bekomm ich immer einen fehler, weiss vielleicht jemand warum??? bzw. geht das überhaupt mit readln eine einzelne zeile meines .txt files einzulesen??? :wall:

ich hoffe mir kann jemand helfen

Klaus01 19. Mai 2006 08:58

Re: Text File Einlesen und als Datenbank Datei ausgeben
 
Delphi-Quellcode:
ReadLn(File_ZPDM,Row_S,261);
hat keine 3 Parameter

ReadLn(fileName,string)
also in Deinem Fall

Delphi-Quellcode:
Readln(File_ZPDM,Row_S);
und vielleicht den FileType
Delphi-Quellcode:
File_ZPDM : File of Text;
ändern.

was willst denn Du damit bezwecken?
Delphi-Quellcode:
 i := 2;
  Reset(File_ZPDM,i);
Das FIle File_ZPM ist ein Textfile und besizt keine Recordstruktur, daher
ist es auch nicht notwendig im Reset eine RecordSize zu übergeben.




Grüße
Klaus

[edit] Ergänzungen

Andidreas 19. Mai 2006 09:07

Re: Text File Einlesen und als Datenbank Datei ausgeben
 
hmm also wenn meine File Variable nicht als File of Text angegeben ist,
krieg ich beim kompilieren folgende fehlermeldung:

Inkompatible Typen: 'procedure, untyped poniter or untyped parameter' und 'string'


aber meine File Variable kann ich nicht als File of Text angeben...
da krieg ich au ne Fehlermeldung:

Konstante oder Typenbezeichner erwartet

Klaus01 19. Mai 2006 09:17

Re: Text File Einlesen und als Datenbank Datei ausgeben
 
Delphi-Quellcode:
procedure TMain_Form.bitbtn_createClick(Sender: TObject);

var

File_ZPDM : TextFile; // geändert :o(
Row_S    : String;
Row_R    : TZPDM_Record;
i        : integer;

begin

  ListBox_Msg.Items.Add('DB-Datei wird erstellt...');
  bitbtn_exit.Enabled := False;

  i := 2;

  {$I-} 
  AssignFile(File_ZPDM,'..\TXT_File\Datei.TXT');

  //Reset(File_ZPDM,i);

  Reset(File_ZPDM);

  //SetLength(Row_S,261);
  //ReadLn(File_ZPDM,Row_S,261);

    while not eof(File_ZPDM) DO
      begin
        ReadLn(File_ZPDM,Row_S);

        If IOResult <> 0 Then
          ShowMessage('Einlesen der Textzeile ist Fehlgeschlagen')
        Else
          AddDBFile(); // vielleicht ist ja auch hier der Fehler?
     end;

  CloseFile(File_ZPDM);
  {$I+} 

end;
und da ist ein Fehler drin?

Grüße
Klaus

Andidreas 19. Mai 2006 09:26

Re: Text File Einlesen und als Datenbank Datei ausgeben
 
ja, leider, es kommen die beiden fehler die ich in meinem letzten beitrag aufgelistet hab...

Klaus01 19. Mai 2006 09:28

Re: Text File Einlesen und als Datenbank Datei ausgeben
 
für welche Zeile kommen denn die Fehlermeldungen?
Bitte nicht die Zeilennummer, sondern die Zeile angeben.

Grüße
Klaus

mquadrat 19. Mai 2006 09:29

Re: Text File Einlesen und als Datenbank Datei ausgeben
 
Wieso nimmst du eigentlich keine TStringlist? Fänd ich jetzt einfacher.

marabu 19. Mai 2006 09:29

Re: Text File Einlesen und als Datenbank Datei ausgeben
 
Ein kleiner Fehler: der Dateityp sollte TextFile oder Text sein, nicht file of Text.

Grüße vom marabu

Andidreas 19. Mai 2006 09:34

Re: Text File Einlesen und als Datenbank Datei ausgeben
 
Zitat:

Zitat von marabu
Ein kleiner Fehler: der Dateityp sollte TextFile oder Text sein, nicht file of Text.

Grüße vom marabu

danke das wars, mit dem dateityp textfile gehts :)

Delphi-Quellcode:
procedure TMain_Form.bitbtn_createClick(Sender: TObject);

var

File_ZPDM : TextFile;
Row_S    : String;
Row_R    : TZPDM_Record;
i        : integer;

begin

  ListBox_Msg.Items.Add('LOGPFL wird erstellt...');
  bitbtn_exit.Enabled := False;

  i := 2;

  {$I-}
  AssignFile(File_ZPDM,'..\SAP_File\ZPDMMCIDL_DEY1_20060130.TXT');
  //Reset(File_ZPDM,i);
  SetLength(Row_S,261);
  ReadLn(File_ZPDM,Row_S);
      If IOResult <> 0 Then
      ShowMessage('Einlesen der Textzeile ist Fehlgeschlagen')
    Else
      AddLOGPFL();
  CloseFile(File_ZPDM);
  {$I+}

end;
@klaus01
die fehlermeldungen kamen bei
File_ZPDM : File of Text;
und
ReadLn(File_ZPDM,Row_S);

aber jetzt wenn
File_ZPDM : TextFile;
kommt kein Fehler mehr

Klaus01 19. Mai 2006 09:37

Re: Text File Einlesen und als Datenbank Datei ausgeben
 
aehm,

Du solltest das File vielleicht noch zum Lesen öffnen,

Dein Reset(..) ist auskommentiert.
Den anderen Fehler habe ich oben korregiert.

@marabu, danke, da hatte ich wohl ein Brett vor dem Kopf.
es steht ja schon in der Überschrift "Text File"


Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr.
Seite 1 von 2  1 2      

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