| Autor |
Beitrag |
tha_blaze
      
Beiträge: 29
xp
D7
|
Verfasst: Do 13.01.05 10:38
Hi Leute
ich bin neu hier und brauche hilfe bei meinem prog. Es geht darum: ich soll ein programm schreiben was dateien aus einem ordner auflistet , das soll mithilfe eines timers passieren der das auflisten auslöst. wenn die dateien aufgelistet sind soll er sie automatisch in einer .ini speichern. der timer soll das alle 60 sek. tun.
also:
-timer springt an, dateien werden aufgelistet in listbox
-dann in einer .ini speichern
-dann .ini und listbox einträge wieder löschen
-das 5mal hintereinander
hat da jemand zufällig ein code oder eine idee???
bitte helft mir... 
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Do 13.01.05 10:50
Hallo und  hier im Delphi-Forum.de!
Stelle bitte eine genau Frage denn dann können wir dir auch besser helfen? Weist du nicht wie man die Timer-Komponete benutzt? Weist du nicht wie man die Dateien aus einem Verzeichnis ausliest...
Gruß
Tino
|
|
tha_blaze 
      
Beiträge: 29
xp
D7
|
Verfasst: Do 13.01.05 10:57
sorry
doch das mit dem auflisten hab ich schon aber irgendwie hab ich das mit dem timer nich ganz raus es hat schon funktioniert doch dann wollte ich das prog erweitern und jetzt steck ich wieder fest...
meine delphi hilfe funktioniert auch nicht mehr obwohl sie bis letzte woche noch fleißig geholfen hat. ich wäre dir sehr verbunden wenn du mir weiterhelfen könntest.
thx tino
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Do 13.01.05 11:01
| tha_blaze hat folgendes geschrieben: | | doch dann wollte ich das prog erweitern und jetzt steck ich wieder fest... |
Was heißt das genau?
Auf welchen Intervalwert hast du den Timer eingestellt? Wir das OnTimer-Event auch aufgerufen (hast du da mal einen Breakpoint gesetzt?)?
Gruß
Tino
|
|
tha_blaze 
      
Beiträge: 29
xp
D7
|
Verfasst: Do 13.01.05 11:06
das timer interval ist bei 5000 also 5sek. damit ich nich ne minute warten muss das timer event ist timer1timer.
ich hatte es ja schon soweit das das mit dem timer geklappt hat aber da hat er nie die listbox einträge und die .ini gelöscht das meinte ich mit erweitern...
_________________ stehen ein einbeiniger und ein blinder auf der brücke sagt der einbeinige zum blinden "ich trete dir gleich in hintern", darauf der blinde "das will ich sehen"!
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Do 13.01.05 11:11
Zeig doch mal den Sourcecode.
|
|
tha_blaze 
      
Beiträge: 29
xp
D7
|
Verfasst: Do 13.01.05 11:15
das ist alles was ich mir bisher zusammengekrazt habe
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin close; end;
procedure TForm1.FormCreate(Sender: TObject); begin timer1.Enabled:=true; zaehler:=1; end;
procedure TForm1.Timer1Timer(Sender: TObject); begin if zaehler=5 then begin application.Terminate; end else begin zaehler:= zaehler+1; ListFileDir('c:\medlinq\easy\*.*', LBFiles.Items); ini := TIniFile.Create('deine.ini');
end; end; end. |
ich hoffe das hilft dir weiter damit du mir weiterhelfen kannst!?
_________________ stehen ein einbeiniger und ein blinder auf der brücke sagt der einbeinige zum blinden "ich trete dir gleich in hintern", darauf der blinde "das will ich sehen"!
|
|
IngoD7
      
Beiträge: 629
D7
|
Verfasst: Do 13.01.05 11:22
Alle 5 sec so'ne "wilden Aktionen"?
Funktioniert es zufällig, wenn du die eigentlich vorgesehenen 60 sec wartest?
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Do 13.01.05 11:24
Delphi-Quelltext 1:
| ini := TIniFile.Create('deine.ini'); |
Warum erstellt du eine Instance von TIniFile wenn du diese anschl. nicht mehr benötigst? Außerdem: wo ist die Variable ini definiert? Wenn du die Variable nur in der Procedure Timer1Timer benötigst dann sollte diese Variable auch nur dort definiert werden.
Und: Du solltest statt Application.Terminate besser Close benutzen.
Ich gehe mal davon aus das die Procedure ListFileDir funktioniert.
Gruß
Tino
|
|
tha_blaze 
      
Beiträge: 29
xp
D7
|
Verfasst: Do 13.01.05 11:29
nein das klappt auch nich
hast du sonst noch tipps für mich ich komm selber nich weiter...
EDIT: mein kommentar hat sich auf ingo bezogen...
|
|
tha_blaze 
      
Beiträge: 29
xp
D7
|
Verfasst: Do 13.01.05 11:35
also brauche ich
Delphi-Quelltext 1:
| ini := TIniFile.Create('deine.ini'); |
garnicht???
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin close; end;
procedure TForm1.FormCreate(Sender: TObject); begin timer1.Enabled:=true; zaehler:=1; end;
procedure TForm1.Timer1Timer(Sender: TObject); ini: TIniFile; begin if zaehler=5 then begin close; end else begin zaehler:= zaehler+1; ListFileDir('c:\medlinq\easy\*.*', LBFiles.Items); end; end; end. |
so erstmal in ordnung???
_________________ stehen ein einbeiniger und ein blinder auf der brücke sagt der einbeinige zum blinden "ich trete dir gleich in hintern", darauf der blinde "das will ich sehen"!
|
|
IngoD7
      
Beiträge: 629
D7
|
Verfasst: Do 13.01.05 11:37
| tha_blaze hat folgendes geschrieben: | nein das klappt auch nich
hast du sonst noch tipps für mich ich komm selber nich weiter... |
Hatte deinen Code noch nicht gesehen, als ich mein vorheriges Posting schrieb. Ich dachte, du würdest all das auch schon tun, was in deinem ersten Posting beschrieben stand. So frage ich mich auch erstmal: Wo genau beschreibst du denn im Programm deine Ini?
Und (weniger wichtig, aber interessiert mich): Wieso soll die - gemäß deinem ersten Posting - erst geschrieben und dann wieder gekillt werden?
|
|
tha_blaze 
      
Beiträge: 29
xp
D7
|
Verfasst: Do 13.01.05 11:41
wieso die gespeichert und dann wieder gelöscht werden soll...warscheinlich weil die leute hier nich wissen was sie mit mir anfangen sollen aber besser als fast 2000mal hintereinander strg+c und strg+v zudrücken das musste ich auch schon machen da interessiert mich das ein wenig mehr... 
_________________ stehen ein einbeiniger und ein blinder auf der brücke sagt der einbeinige zum blinden "ich trete dir gleich in hintern", darauf der blinde "das will ich sehen"!
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Do 13.01.05 11:49
Die INI-Instanz würde ich erstmal ins OnCreate packen und ins OnClose ein Free für die INI. So wie das jetzt aussieht, wird wohl jedesmal im Timer-Ereignis eine neue Instanz angelegt.
Am besten gehst du mal Schrittweise durchs Programm, um zu sehen, bis wo es einwandfrei arbeitet.
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Do 13.01.05 11:53
@jasocul: Ein bisschen OT: Entweder OnShow und OnClose oder OnCreate und OnDestroy nutzen, aber nicht mischen, das führt unter Umständen zu panikartiger Fehlersuche...
Cu,
Udontknow
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Do 13.01.05 11:56
Stimmt. 
|
|
tha_blaze 
      
Beiträge: 29
xp
D7
|
Verfasst: Do 13.01.05 11:56
ich hab das jetzt erstma geändert-->
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| procedure TForm1.Button1Click(Sender: TObject); begin close; end;
procedure TForm1.FormCreate(Sender: TObject); begin timer1.Enabled:=true; zaehler:=1; ini := TIniFile.Create('deine.ini'); end;
procedure TForm1.Timer1Timer(Sender: TObject); ini: TIniFile; begin if zaehler=5 then begin close; end else begin zaehler:= zaehler+1; ListFileDir('c:\medlinq\easy\*.*', LBFiles.Items);
end; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin ini.free; end;
end. |
es passiert aber noch nix...
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Do 13.01.05 11:59
| tha_blaze hat folgendes geschrieben: | | es passiert aber noch nix... |
Wie es passiert nichts? Du musst schon etwas genauer werden.
Laut deinem Code wird die Listbox mit den Dateien gefüllt. Funktioniert das oder läuft schon dort etwas nicht?
|
|
tha_blaze 
      
Beiträge: 29
xp
D7
|
Verfasst: Do 13.01.05 12:02
nein die liste wird nicht gefüllt erst wenn ich auf meinen button klicke aber das soll ja durch den timer ausgelöst werden.
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Do 13.01.05 12:06
| tha_blaze hat folgendes geschrieben: | | aber das soll ja durch den timer ausgelöst werden. |
Dann setze einen Breakpoint (F5) auf die erste Zeile (Zeile 16 in dem letzten von dir geposteten Sourcecode-Beispiel) Deiner Timer1Timer Prozedur und starte das Programm. Wenn der Debugger irgendwann dort anhält kannst du Schritt für Schritt (F7) weiter laufen und schauen wo der Fehler liegen könnte.
|
|