drukowanie i kasowanie

0

Chce utworzyc plik txt z tekstem z richedit, a nastepnie wydrukowac i skasowac go.
Napisalem cos takiego (ponizej) i gdzies jest blad , wydaje mi sie ze w tym na czerwono , ale nie wiem dlaczego i jak go poprawic ??

procedure TForm1.Button1Click(Sender: TObject);
var
path:string;
begin
path:='C:aaaa.txt';
RichEdit1.lines.SaveToFile(path);
RichEdit1.Modified:=false;

 ShellExecute (0, 'print',  Pchar(path),nil, nil, SW_HIDE);         

 <font color=red>DeleteFile(path);</span>

end;

<font color="blue">dopisane : </span>

<font color="black">tak naprawde to ja mam zamiast tego path:='C:aaaa.txt'; mam to : </span>
<font color="green">path:=ExtractFilePath(Application.ExeName)+ 'aaaa.txt'</span>

wiec tutaj raczej nie ma bledu

ps: nie wiem czemu ale ukosnik sie nie pokazuje (przynajmniej u mnie ) - powinien byc przed aaaa.txt

czemu ten plik nie chce sie usunąć?? [???]

0

Walnąles sie przy samym stringu (path:='C:aaaa.txt') powinno byc path:='C:\aaaa.txt' - zapomniales "".

0

Dziwne bo jak kasowanaie tego pliku daje pod inny button to wszystko działa

procedure TForm1.Button2Click(Sender: TObject);
begin
DeleteFile(path);
end;

<font color="darkblue">// zmienna path do private</span>

Czemu nie można zrobić tego za pomocą jednego buttona ??

0

<font color="green">procedure TForm1.Button2Click(Sender: TObject);
begin
DeleteFile(path);
end; </span>

Bo już jest inna wartość zmiennej path. Zauważ, że nie ma tu instrukcji przypisania (path:=.....).

0

<font color="green">Bo już jest inna wartość zmiennej path. Zauważ, że nie ma tu instrukcji przypisania (path:=.....). </span>

Jak to inna wartość??
Przecież cały czas path=scieżka_programu_+_aaaa.txt

może napisze kod w całości :

<font color="darkblue">CHCE ZEBY DZIALALO ZA POMOCA JEDNEGO BUTTONA</span>

[b] private[/b]
path:string;
.....
[b]procedure[/b] TForm1.Button1Click(Sender: TObject);

[b]begin[/b]
path:=ExtractFilePath(Application.ExeName)+ '\aaaa.txt';
RichEdit1.lines.SaveToFile(path);
RichEdit1.Modified:=false;

ShellExecute (0, 'print', Pchar(path),nil, nil, SW_HIDE);

DeleteFile(path);
[b]end;[/b]

<font color="darkblue">ALE DZIALA TYLKO TAK - TZN ZA POMOCA DWOCH BUTTONOW</span>

[b] private[/b]
path:string;
.....
[b]procedure[/b] TForm1.Button1Click(Sender: TObject);

[b]begin[/b]
path:=ExtractFilePath(Application.ExeName)+ '\aaaa.txt';
RichEdit1.lines.SaveToFile(path);
RichEdit1.Modified:=false;

ShellExecute (0, 'print', Pchar(path),nil, nil, SW_HIDE);

[b]end;[/b]

[b]procedure [/b]TForm1.Button2Click(Sender: TObject);
[b]begin [/b]
DeleteFile(path);
[b]end;[/b]

<font color="darkblue">NO I JAK ZROBIC ZEBY ZA POMOCA JEDNEGO BUTTONA WYDRUKOWAC I USUNAC PLKI *.txt ?? </span>

[???] [???]

ps: aha.. jeszcze przed wszystkimi aaa.txt są ukośniki

0

Problem leży w tym, że próbujesz skasować plik jeszcze przed jego wydrukowaniem. Poszukaj funkcji shellexecuteandwait() na swissdelphicenter.com.

1 użytkowników online, w tym zalogowanych: 0, gości: 1