Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Вниз

Ошибка при отмене   Найти похожие ветки 

 
lobach ©   (2006-05-19 14:55) [0]

Здраствуйте...
Помогите пожалуйста, вылезает ошибка при нажатии кнопки отмена в диалоговом окне сохранения файла, нажимаеш OK,  все нормально, сохраняет, жмёш отмену, выдаёт ошибку:

Project lvbsvc.exe raised exception class EInOutError with message "I/O error 105". Process stopped.


 
Gydvin ©   (2006-05-19 14:57) [1]

код


 
umbra ©   (2006-05-19 16:04) [2]


> Project lvbsvc.exe raised exception class EInOutError with
> message "I/O error 105". Process stopped.
>


эта ошибка означает, что Вы пытаетесь записывать в файл, который не открыт. Т.е. даже в случае нажатия кнопки "Отмена" Вы пытаетесь что-то записать.


 
stud ©   (2006-05-19 16:04) [3]

очевидно все равно пытаешся сохранять не смотря на отмену


 
lobach ©   (2006-05-21 04:30) [4]

Конкретно простой пример: хочу чтобы текст, введенный пользователем и еще несколько строк записывались в текстовый файл, посмотрите, может что нитак?

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, jpeg, ExtCtrls, StdCtrls;

type
 TForm1 = class(TForm)
   Edit1: TEdit;
   SaveDialog1: TSaveDialog;

   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
//объявление переменных
f: TextFile;
stroka1: String;
stroka2: String;
imya: String;
begin                                    //начало процедуры
                                          //значения переменных
stroka1:= "Мальчика зовут";
stroka2:= ",ему 10 лет";
imya:= Edit1.text //имя мальчика, введенное пользователем

SaveDialog1.Execute; //открытие диалогового окна
AssignFile(f, SaveDialog1.FileName);     //объявление файла
Rewrite(f);                                       //открываем для перезаписи
writeln(f, stroka1, imya, stroka2);          //пишем строки в файл

CloseFile(f);                                     // закрыть файл
end;

end.


 
Германн ©   (2006-05-21 04:43) [5]

if SaveDialog1.Execute then begin //открытие диалогового окна
 AssignFile(f, SaveDialog1.FileName);     //объявление файла
 Rewrite(f);                                       //открываем для перезаписи  
 writeln(f, stroka1, imya, stroka2);          //пишем строки в файл
 CloseFile(f);
end;      


В исходном варианте не было проверки "того, что было нажато" в Диалоге.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.041 c
1-1145987919
Volf_555
2006-04-25 21:58
2006.06.04
Как из консольного приложения корректно вызвать форму из DLL?


3-1144690064
Рустем
2006-04-10 21:27
2006.06.04
Ошибка: Не удается найти строку для обновления...


6-1138453363
Lupi
2006-01-28 16:02
2006.06.04
Поиск линков


8-1136239895
DoSpyRap
2006-01-03 01:11
2006.06.04
ПЕРИОДИЧЕСКИЙ СОХРАНЕНИЕ ЭКРАНА


2-1147649380
rosl
2006-05-15 03:29
2006.06.04
bat





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский