Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.29;
Скачать: CL | DM;

Вниз

открыть файл на СОХРАНЕНИЕ   Найти похожие ветки 

 
heady   (2004-02-12 19:43) [0]

Hi, All! Есть поле ввода Edit2, куда юзер вводит путь к файлу, в который будет производиться запись - как проверить корректность его ввода?
такой вариант:
var ResFile:TextFile;

If FileExists(Edit2.Text)=false then
begin
{$I-}
assign(ResFile,Edit2.Text);
rewrite(ResFile);
if IOResult<>0 then
begin
MessageDlg("Неправильный ввод имени сохраняемого файла!",mtWarning,[mbOK],0);
Edit2.SetFocus;
end;
end;
почему-то не работает пишет - Incompatible types: "TCaption" and "PAnsiChar" посоветуйте что нибудь. Зарание благодарен.


 
хз ©   (2004-02-12 19:46) [1]

Для проверки коректности ввода достаточно одного FileExists.


 
Anatoly Podgoretsky ©   (2004-02-12 19:50) [2]

хз © (12.02.04 19:46) [1]
Недостаточно, путь использован правильный, только сильно устаревший, в Дельфи существует механизм исключений.

heady (12.02.04 19:43)
Пирведи к "PAnsiChar" в том месте где ругается


 
heady   (2004-02-12 19:51) [3]

Нет - я имел ввиду проверку возможности СОХРАНЕНИЯ.
чтобы криворукий юзер не пытался создать файл скажем "c:456456\1.txt"


 
heady   (2004-02-12 19:55) [4]

2Anatoly Podgoretsky
если можно поподробнее - как привести TCaption к "PAnsiChar"?
насчет устаревшего пути - ты прав - переучиваюсь с TP7 ;)


 
Anatoly Podgoretsky ©   (2004-02-12 19:57) [5]

Это правильное имя, только конечно Rewrite не справится, но другая функция запросто.


 
heady   (2004-02-12 20:00) [6]

2Anatoly Podgoretsky а можно задать предсказуемый вопрос - а какая справится? :)


 
Defunct   (2004-02-12 20:02) [7]

А чем не подходит SaveDialog?

If SaveDialog.Execute Then Сохраняем... Else Не сохраняем


 
хз ©   (2004-02-12 20:08) [8]

> если можно поподробнее - как привести TCaption к "PAnsiChar"?

PChar(Edit.Text);


 
heady   (2004-02-12 20:08) [9]

2Defunct он(SaveDialog) тоже есть - но хочется же все как у людей - строка ввода(чтобы ручками путь вводить) а потом кнопулька "обзор" :)


 
хз ©   (2004-02-12 20:10) [10]

>> хз © (12.02.04 19:46) [1]
> Недостаточно...

А почему, если не секрет?


 
heady   (2004-02-12 20:12) [11]

2хз повторюсь - я имел ввиду проверку возможности СОХРАНЕНИЯ.
чтобы криворукий юзер не пытался создать файл скажем "c:456456\1.txt"


 
heady   (2004-02-12 20:34) [12]

s:string;

If FileExists(Edit2.Text)=false then
begin
{$I-}
s:=PChar(Edit2.Text);
assign(ResFile,s); ТУТ выдается ошибка Incompatible types: "TPersistent" and "Text"


 
Defunct   (2004-02-13 01:12) [13]

AssignFile()


 
Defunct   (2004-02-13 01:18) [14]

> heady (12.02.04 20:34) [12]
> assign(ResFile,s); ТУТ выдается ошибка Incompatible types: "TPersistent" and "Text"

AssignFile(ResFile,S);


 
heady   (2004-02-13 18:38) [15]

Огромное спасибо! я AssignFile - до этого дошел сам! чертов TP :)

полностью ответ на мой вопрос выглядит:
{Проверка на возможность записи файла}
If FileExists(Edit2.Text)=false then
begin
{$I-}
assignFile(ResFile,Edit2.Text);
rewrite(ResFile);
if IOResult<>0 then
begin
MessageDlg("Неправильный ввод имени сохраняемого файла!",mtWarning,[mbOK],0);
Edit2.SetFocus;
Exit;
end;
end;

всем огромнейшее спасибо!!! мне стало стыдно за мой абсолютно чайниковский вопрос :)


 
WebErr ©   (2004-02-13 18:49) [16]

А почему всё-таки криворукий юзер не может вызвать SaveDialog?!! У этой кнопулины есть замечательный метод Execute. Кстати PAnsiChar можно запросто получить из TCaption, который всего лишь type TCaption = String. Просто PChar(SomeCaption).


 
heady   (2004-02-16 17:40) [17]

а мы рассматриваем случай продвинутого любопытно-злорадного криворукого юзера, которому непраменно надо путь ручками прописать - "а вдруг сглючит" :)



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

Текущий архив: 2004.02.29;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.018 c
14-94165
Макс Реалов
2004-02-03 18:23
2004.02.29
В чём разница?


14-94132
Думкин
2004-02-09 06:30
2004.02.29
С днем рождения! 9 февраля.


14-94119
MYSTERYO
2004-02-09 10:47
2004.02.29
Где качнуть спрайты из Аллодов? Никто не помнит?


14-94105
Zew
2004-02-07 21:35
2004.02.29
Не ну это вообще


8-94028
Junior
2003-10-25 17:09
2004.02.29
Мастера подскажите как очистить канву?