Anulowanie zapisu pliku błąd I/O 105

0

Siemka mam problem!
Zapisuje sobie plik gdy go zapiszę to jest wszystko ok tzn jeśli podam nazwe pod jaką ma być zapisany to się zapisuje natomiast gdy kliknę anuluj dostaję błąd I/O error 105 Probówałem Rewrite/ Reset/ Append cóż to może być

var i:Integer;
    f:textfile;
begin
 if SaveDialog1.Execute then
 saveDialog1.Title := 'Zapisz';
 AssignFile(f,saveDialog1.FileName);
  Rewrite(f);            
  with Tabela do                 
  for i:=0 to RowCount-1 do
  begin
    Rows[i].Delimiter:=';';
    Writeln(f,Rows[i].DelimitedText);
  end;
  Chart1.SaveToBitmapFile(saveDialog1.FileName+'.jpg');
  CloseFile(f);
  saveDialog1.Free;
  ShowMessage('Plik zapisano'); 
0

Jeżeli po then ma się wykonać więcej niż jedna linijka to musisz ując blok kodu w begin oraz end; Poza tym SaveDialog1.Title ustawiasz przed wywołaniem Execute, a mając ustawione własności DefaultExt oraz Filter w odpowiedni sposób nie musisz kombinować z późniejszym dodawaniem rozszerzenia dla nazwy pliku. Poza tym niepotrzebnie zwalniasz SaveDialog przez Free I jeśli nie ogarniasz taich podstaw to polecam zanim cokolwiek napiszesz poczytać jakieś kursy omawiające podstawy tego języka. A temat przenosze do Newbie, bo dotyczy absolutnych podstaw i pytania o takowe należy w nim zamieszczać.

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