Форум: "Основная";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];
Вниз
открыть файл на СОХРАНЕНИЕ Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.014 c