Jeg har følgende kode: procedure Tsletgamlefiler.FormShow(Sender: TObject); var linje,i,y:integer; s:string; begin initialer.Lines.LoadFromFile('c:/brugere.wf'); linje := 0; while linje < sletgamlefiler.initialer.Lines.count do begin s:=sletgamlefiler.initialer.lines.Strings[linje]; ResolveNextToken(s,','); sletgamlefiler.initialer.lines.strings[linje] := ResolveNextToken(s,','); linje:=linje+1 end; memo1.Clear; i:=5; while i < 15 do begin tilfoejfilnavn(datetostr((date()-i))); i := i+1 ; end; y:=0 ; while y < memo1.Lines.Count do begin DeleteFile('c:/test/kalendere/'+memo1.Lines.Strings[y]+'.txt'); y:=y+1 end; close; end;
Denne kode køres når formen vises, hvilket jeg gør fra en anden form med showmodal...
Jeg vil, som også ses, gerne at formen lukkes så snart den har slettet de angivne filer med deletefile...
Generelle kommentarer til din kodning: - Jeg glad for at jeg ikke skal læse din kode til dagligt - brug dog indryk. - Hvorfor vil du åbne en form, lave noget og lukke det igen uden at brugeren involveres?
borrisholt: postmessage... lukkede formen - ikke de andre - men hvis der er fejl i min kode, hører jeg gerne løsningen :)
hrc: tak for hjælpen... mht. dine kommentarer, så er der indryk i min kode, disse slog bare ikke igennem på exp... og formen åbnes for at hindre brugeren i at lave andet imens den kører... udover at slette gamle filer skal den udvides til forskellige tjek
procedure TSletGamleFiler.FormShow(Sender: TObject); var i : integer; s : string; begin Initialer.Lines.LoadFromFile(BrugerFilSti);
for i := 0 to Initialer.Lines.Count - 1 do begin s := Initialer.Lines[i]; ResolveNextToken(s,','); // Skipper noget data (antager jeg) Initialer.Lines[i] := ResolveNextToken(s,','); end;
Memo1.Clear;
// Lidt uklart at bruge DateToStr. Den kigger p† Windows' indstillinger og vil // generere filer som 12-01-2004 og 2004:12:01. for i := SletStart to SletSlut do TilfoejFilnavn(FormatDateTime('YYYYMMDD',Date - i));
for i := 0 to Memo1.Lines.Count - 1 do DeleteFile(KalenderSti + Memo1.Lines[y] + TextExt);
PostMessage(self.Handle,WM_CLOSE,0,0); end;
Vil du ikke give mig ret i at koden generelt er lettere at læse?
Det er også grunden til det ikke virkede med close. Men det laver han snart om på .. Når han får flere checks .. Så vil han gerne skrive på skærmen hvad han laver så render han i problemer.
Det løses vha en timer. Men den til den sorg ;) Jens B
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.