AGB  ·  Datenschutz  ·  Impressum  







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

dateien nacheinander einlesen

Ein Thema von toredo · begonnen am 27. Mai 2006 · letzter Beitrag vom 27. Mai 2006
Antwort Antwort
toredo

Registriert seit: 6. Apr 2006
Ort: Oberriet
210 Beiträge
 
Delphi 7 Enterprise
 
#1

dateien nacheinander einlesen

  Alt 27. Mai 2006, 11:14
hay,

ich habe ja grade ein tagebuch gemacht, eine einzige funktion möchte ich da aber noch einbauen:
ich möchte machen, dass man, wenn man grade mal will, alle einträge in eine einzige txt speichern lassen kann.
die einträge werden so gespeichert:
dd.mm.yyyy.tb und dd.mm.yyyy.tb2

dann müsste das programm also zuerst die älteste dd.mm.yyyy.tb2 lesen um einige infos zu holen diese müssten dann in die txt geschrieben werden, dann sollte die dd.mm.yyyy.tb gelesen werden und der beitrag in die txt geschrieben werden.
dann wird die zweitälteste dd.mm.yyyy.tb2 gelsesen, die infos werden geschrieben, dann wird die dd.mm.yyyy.tb gelesen und wieder der eintrag geschrieben.
...
das passiert halt so lange bis alle einträge geschrieben sind.


um zu erkennen hab ich mir das so gedacht, aber ich weiss end wie ich das umsetzen kann:
das programm sucht nach ner datei die so aufgebaut ist: 01.01.2006
falls die datei existiert wird sie eingelesen ansonsten, sucht das programm ne datei die so heisst: 02.01.2006, und dann sucht es immer weiter ne datei halt bis das datum so ist wie das von heute+1tag.

kann mir bitte jemand helfen das ganze umzusetzen?



mfG toredo
Benj Meier
  Mit Zitat antworten Zitat
Klaus01
Online

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

Re: dateien nacheinander einlesen

  Alt 27. Mai 2006, 11:18
Schau Dir mal die Funktionen

FindFirst, FindNext und FindClose an

damit müßte sich das realisieren lassen.

Mußt halt noch etwas drumherum bauen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: dateien nacheinander einlesen

  Alt 27. Mai 2006, 11:41
Wie bereits gesagt, per FindFirst/FindNext die Dateien suchen (*.tb) und eine StringList, oder ein StringArray eintragen und dann die *.tb2 suchen und auch eintragen (wenn es zu jeder *.tb immer eine *.tb2 gibt, dann brauchste die *.tb2 nicht suchen, da du ja beim einlesen einfach nur die "2" dan den Dateinamen der *.tb anzuhängen brauchst).

Dann die Liste mit den Dateien sortieren.
Das würde sich aber einfacher machen, wenn du die Dateien yyyy.mm.dd.tb nennst, dann können einfach die Strings/Dateinamen per "<" und ">" verglichen werden ... so mußt du den Dateinamen ja zerlegen und Jahr/Monat/Tag einzeln vergleichen. (außerdem wären die Dateien dann auch im Explorer in 'ner "guten" Reinfolge )

und am Ende muß nur noch diese Liste abgegangen und die Dateien eingelesen werden. ^^
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
toredo

Registriert seit: 6. Apr 2006
Ort: Oberriet
210 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: dateien nacheinander einlesen

  Alt 27. Mai 2006, 11:45
thx für die antworten, dieses findfirst/next/close werd ich mir mal anschauen.

Zitat:
Das würde sich aber einfacher machen, wenn du die Dateien yyyy.mm.dd.tb nennst. dann können einfach die Strings per "<" und ">" verglichen werden ... so mußt du den Dateinamen ja zerlegen und Jahr/Monat/Tag einzeln vergleichen. (außerdem wären die Dateien dann auch im Explorer in 'ner "guten" Reinfolge Rolling Eyes )
das werde ich auch gleich mal machen.

mfG toredo


-edit-

ich hab mal gemacht, dass die eintrage die namen in dme format bekommen:yyyy.mm.dd.tb

aber mit findfirst/next/close habe ich ein problem
ich wollte mal ein kleines testprojekt machen um diese funktionen mal näher kennenzulernen, und da hab ich mal mit findfirst begonnen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  SR: TSearchRec;
begin
FindFirst('D:\Benjamin\tagebuch2\mitpw\data\*.tb', faAnyFile, SR);
FindNext(SR);
FindClose(SR);
end;

end.
jetzt werden (hoffentlich^^) die dateinamen in SR gespeichert, aber weiter komm ich irgendwie ned...



mfG toredo
Benj Meier
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#5

Re: dateien nacheinander einlesen

  Alt 27. Mai 2006, 13:33
Hi,

nee so geht das auch nicht.....

Delphi-Quellcode:
var
  error: integer;
  sr: tSearchrec;
  pfad: string;
  dateiname: string;
begin
  pfad := 'c:\meindateipfad\';
  error := FindFirst(pfad + '*.txt', faAnyfile, sr);
  while error = 0 do
  begin
    dateiname := pfad + sr.name;

    // tu was mit der datei

    error := FindNext(sr);
  end;
  FindClose(sr);
end;
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
toredo

Registriert seit: 6. Apr 2006
Ort: Oberriet
210 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: dateien nacheinander einlesen

  Alt 27. Mai 2006, 15:20
hay,

thx für den code,
Zitat von thkerkmann:
nee so geht das auch nicht.....
hab ich mir irgendwie auch gedacht, weil das ganze hat ned so schön ausgesehen.

ich werde das gleich umsetzen, danke für die hilfe


mfG toredo
Benj Meier
  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 11:34 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