AGB  ·  Datenschutz  ·  Impressum  







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

Textdatei einlesen???

Ein Thema von AgentAS · begonnen am 11. Aug 2003 · letzter Beitrag vom 15. Okt 2003
Antwort Antwort
Benutzerbild von AgentAS
AgentAS

Registriert seit: 14. Jul 2003
Ort: Reutlingen
88 Beiträge
 
Delphi 6 Professional
 
#1

Textdatei einlesen???

  Alt 11. Aug 2003, 21:42
Hallo zusammen,

habe da ein kleines Prob. Wie kann ich eine Textdatei einlesen. Ich habe eine Tabelle aus einer Datenbank die in einer Texdatei abgelegt wurde.Die Felder der Datenbank werden durch "" und , unterteilt.

Hat jemand einen Vorschlag oder gar ein Script mit Beispielen?

Danke

Gruß

Andreas
Nichts wissen ist auch eine Art Wissen.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Textdatei einlesen???

  Alt 11. Aug 2003, 22:11
Die Frage ist wie du die Daten brauchst (in welchem Format). Wenn du sie nur in einem Memo brauchst, so wie sie in der Textdatei stehen, kannst du sie mit
Code:
Memo1.LoadFromFile(DateiName)
in das Memo laden. Andernfalls musst du Zeile für Zeile durchgehen...
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Pascal

Registriert seit: 10. Aug 2003
22 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Textdatei einlesen???

  Alt 11. Aug 2003, 23:32
Ich denke, dass du einzelne Datensätze aus Deiner Datei lesen willst.
Dazu musst du erst einmal eine Variable deklarieren, mit welcher du die Textdatei bearbeiten kannst. Dann kannst du mithilfe dieser Variablen die Datei zeilenweise auslesen und in einen String oder eine Stringliste speichern.

Ein Beispielcode:
Delphi-Quellcode:
procedure Readfile (filename: string);
varprocedure TForm1.Readfile(filename: string; var s: string);
var f: Textfile;
    helpstring: string;
begin
  Assignfile(f,filename); //Weist f die Datei zu
  reset (f); //Öffnet die Datei zum lesen
  s := '';
  while not eof (f) do begin
     readln(f,helpstring); //liest eine Zeile in den Helpstring
     s := s + helpstring; //fügt den Helpstring an s hinzu
  end;
  Closefile(f); //Schließt die Datei
  //!!! SEHR WICHTIG, sonst kannst du die Datei an einer
  //anderen Stelle nicht nochmal öffnen
end;
Wenn du nun noch einen Datensatz suchst oder einen Eintrag, würde ich empfehlen, eine Funktion zu schreiben, die dir das erleichtert, d.h., welcher du nur die Nummer des Datensatzes übergeben musst und dann den richtigen Datensatz erhälst.

Falls du in die Textdatei etwas schreiben willst, musst du statt reset(f) append(f) ausführen. Dies alles steht auch in der Hilfe, suche einfach mal nach Assignfile.

[edit=Luckie]Delphi-Tags hinzugefügt. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von AgentAS
AgentAS

Registriert seit: 14. Jul 2003
Ort: Reutlingen
88 Beiträge
 
Delphi 6 Professional
 
#4

Re: Textdatei einlesen???

  Alt 12. Aug 2003, 10:39
Alles klar werde es so mal versuchen.

Danke für die Antwort

Gruß Andreas
Nichts wissen ist auch eine Art Wissen.
  Mit Zitat antworten Zitat
Benutzerbild von AgentAS
AgentAS

Registriert seit: 14. Jul 2003
Ort: Reutlingen
88 Beiträge
 
Delphi 6 Professional
 
#5

Re: Textdatei einlesen???

  Alt 15. Okt 2003, 10:31
Hallo erstmal,

ich stehe hier vor einem kleinen(großen) Problem.

Ich möchte wie schon beschrieben eine Textdatei, die von einem anderen Programm erstellt wird, in eine andere Datenbank einlesen.

Dies will ich über eine Schnittstell machen die ich selber programmiere. Die daten werden in der Textdatei so dargestellt --> "Name","Vorname","PLZ","Wohnort".

Hier erstmal der Quellcode:
Delphi-Quellcode:
procedure TForm1.ReadfileEGUB2;
var F: TextFile;
     hFile,S: string;
begin
  if OpenDialog1.Execute then { Dialog zum Dateiöffnen anzeigen }
  begin
    hFile := OpenDialog1.FileName;
    AssignFile(F, hFile); { Datei ausgewählt }
    Reset(F);
    Readln(F, S); { Erste Zeile der Datei lesen }
    Memo1.Lines.Add(S); { String in ein TMemo schreiben }
    CloseFile(F);
  end;
end;
Aufruf der PROCEDURE:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var hMemo : string;
begin
  ReadfileEGUB2;
end;
Wie kann ich die Daten aus der Texdatei direkt in ein Query einlesen. Um ein UPDATE auf
eine neue Datenbank zu machen, oder gibt es da einen anderen Weg.

Danke für eure Hilfe

Gruß AS
Nichts wissen ist auch eine Art Wissen.
  Mit Zitat antworten Zitat
Benutzerbild von AgentAS
AgentAS

Registriert seit: 14. Jul 2003
Ort: Reutlingen
88 Beiträge
 
Delphi 6 Professional
 
#6

Re: Textdatei einlesen???

  Alt 15. Okt 2003, 12:20
Hi,

will ja nicht stressen aber könnte mir einer helfen. Wäre nicht schlecht.

Gruß AS
Nichts wissen ist auch eine Art Wissen.
  Mit Zitat antworten Zitat
Benutzerbild von AgentAS
AgentAS

Registriert seit: 14. Jul 2003
Ort: Reutlingen
88 Beiträge
 
Delphi 6 Professional
 
#7

Re: Textdatei einlesen???

  Alt 15. Okt 2003, 12:56
Hab da was gefunden in Visual Basic.


Delphi-Quellcode:
  DoCmd.TransferText acImportDelim, _
  TableName:="AktuelleDaten", SpecificationName:="AktuelleDaten Importspezifikation", _
  FileName:="c:\Egub.txt", _
  HasFieldNames:=-1
Mein Vorgänger hat das in VB programmiert. Doch jetzt funktioniert es nicht mehr und da ich von VB keine Ahnung hab will ich es in Delphi umsetzten.

Gruß

AS
Nichts wissen ist auch eine Art Wissen.
  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 21:06 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