Autor Beitrag
tha_blaze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29

xp
D7
BeitragVerfasst: Do 13.01.05 10:38 
Hi Leute :D

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... :flehan:
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Do 13.01.05 10:50 
Hallo und :welcome: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29

xp
D7
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29

xp
D7
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Do 13.01.05 11:11 
Zeig doch mal den Sourcecode.
tha_blaze Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29

xp
D7
BeitragVerfasst: Do 13.01.05 11:15 
das ist alles was ich mir bisher zusammengekrazt habe

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 629


D7
BeitragVerfasst: Do 13.01.05 11:22 
Alle 5 sec so'ne "wilden Aktionen"? :gruebel:

Funktioniert es zufällig, wenn du die eigentlich vorgesehenen 60 sec wartest?
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Do 13.01.05 11:24 
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29

xp
D7
BeitragVerfasst: Do 13.01.05 11:29 
nein das klappt auch nich :nixweiss:
hast du sonst noch tipps für mich ich komm selber nich weiter...

EDIT: mein kommentar hat sich auf ingo bezogen...
tha_blaze Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29

xp
D7
BeitragVerfasst: Do 13.01.05 11:35 
also brauche ich
ausblenden Delphi-Quelltext
1:
 ini := TIniFile.Create('deine.ini');					

garnicht???

ausblenden volle Höhe 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:
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);
    //ini := TIniFile.Create('deine.ini');

  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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 629


D7
BeitragVerfasst: Do 13.01.05 11:37 
tha_blaze hat folgendes geschrieben:
nein das klappt auch nich :nixweiss:
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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29

xp
D7
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Do 13.01.05 11:56 
Stimmt. :flehan:
tha_blaze Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29

xp
D7
BeitragVerfasst: Do 13.01.05 11:56 
ich hab das jetzt erstma geändert-->
ausblenden volle Höhe 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:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29

xp
D7
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: 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.