Текущий архив: 2012.01.29;
Скачать: CL | DM;
Вниз
Не воспринимается путь к файлу кирилицей Найти похожие ветки
← →
Dennis I. Komarov © (2011-10-12 14:06) [40]
> TFilenameEdit - что это?
Это стандартный компонент в D7, ты что не знал? Просто это у тебя дельфи не правильная :)
З.Ы.
Понаставят тут всякое...
← →
RWolf © (2011-10-12 14:07) [41]
> После обеда сделаю функцию их убирать
AnsiDequotedStr
← →
OW © (2011-10-12 14:26) [42]
> Dennis I. Komarov © (12.10.11 14:06) [40]
> > TFilenameEdit - что это?
> Это стандартный компонент в D7, ты что не знал?
не-а.. И даже теперь не нашел. Да и ладно, все равно юзать не буду
зачем оно, когда есть edit, button и opendialog, простые и надежные, как Калашников
← →
Омлет © (2011-10-12 14:26) [43]Подозреваю, что у этого компонента есть свойство FileName.
← →
Laguna © (2011-10-12 14:51) [44]> OW
> не-а.. И даже теперь не нашел. Да и ладно, все равно юзать
> не будузачем оно, когда есть edit, button и opendialog,
> простые и надежные, как Калашников
Это компонент из состава Rx Controls.
Он все это в себе объединяет.
Ребята, всем спасибо за обсуждения, решение найдено. Дело было в лишних ковычках. Сейчас все работает как надо.
>RWolf
Отдельное спасибо за AnsiDequotedStr
← →
Dimka Maslov © (2011-10-12 15:03) [45]Яркий пример того, почему не надо пользоваться всякими левыми компонентами.
← →
OW © (2011-10-12 15:17) [46]
> Dimka Maslov © (12.10.11 15:03) [45]
+мильон
Да и дело даже не в этом, RX качественно делали, вроде
просто когда открываешь проект, чтоб поправить, начинается.. то одно надо поставить, то другое.. Особенно, какие-нибудь 5 лет давности. Библиотеки не приложены, или утеряны, или испорчены...
Есть время - все переписать на стандарт, имхо.
Без какой-нибудь градиентной заливки кнопки можно легко обойтись.
И камень второй, более глубокий.
Часто их интерфейс рисуется руками, и при переходе на схемы/темы современных осей - перерисовка хромает, интерфейс начинает лажать, а сделать уже мало что можно.
← →
QAZ (2011-10-12 15:24) [47]ээ какбэ, кавычки для путей с пробелами нужны только для коммандной строки запускаемого приложения
ибо там суть пробела - разделитель
для файловых функций оно не надо
← →
Омлет © (2011-10-12 15:41) [48]> Laguna © (12.10.11 13:35) [33]
>> Омлет
>> Вопрос был, какого типа FilenameEdit1, а не FilenameEdit1.Text.
> Ну какого типа может быть стандартный компонент?
> FilenameEdit1: TFilenameEdit;
> Laguna © (12.10.11 14:51) [44]
> Это компонент из состава Rx Controls.
Дада, очень стандартный. И работает чудно.
← →
Dimka Maslov © (2011-10-12 17:45) [49]
> ээ какбэ, кавычки для путей с пробелами нужны только для
> коммандной строки запускаемого приложения
А ведь могли бы и до урл-кодирования додуматься. Вдруг нам понадобиться имя файла на сервер передать.
← →
Dennis I. Komarov © (2011-10-12 19:24) [50]
> OW © (12.10.11 14:26) [42]
не будь так серьезен, на смайла, но все-таки крутые перцы ставят себе сборку с включеными в него Rx, AlphaControls, etc
← →
Германн © (2011-10-12 21:02) [51]
> крутые перцы ставят себе сборку с включеными в него Rx,
> AlphaControls
В данном случае достаточно одной таблэтки!
Ибо AlphaControls включает в себя этот компонент.
← →
знайка (2011-10-12 21:56) [52]альфа шмальфа... берите xaml и можно что и то и другое ...
← →
Laguna © (2011-10-13 00:56) [53]Кстати, вот еще на что обратил внимание
function ExtFilename(const FileName: string): string;
begin
if (Pos(" ", FileName) > 0) and (FileName[1] <> """) then
Result := Format(""%s"", [FileName])
else Result := FileName;
end;
Т.е. если выбирается путь к файлу в папках которого есть пробелы, то в свойстве Text этот путь обрамляется кавычками. А для загрузки картинки от этих кавычек наоборот приходится избавляться. Зачем так сделано? Я так понимаю для того, чтобы путь как бы не был разорванным.
← →
Dimka Maslov © (2011-10-13 09:27) [54]
> Зачем так сделано?
Потому-что [censored]. Во первых так делать не надо, а во вторых и сделано-то криво.
← →
QAZ (2011-10-13 10:46) [55]Удалено модератором
← →
han_malign (2011-10-13 11:51) [56]
> FilenameEdit1: TFilenameEdit;
> Да и дело даже не в этом, RX качественно делали, вроде
- ключевое слово - вроде... Недавно пришлось поковыряться в этом конкретно компоненте - и понял, что проще руками сделать(TComboEdit+TSaveDialog), чем понять полет их мысли...
(вот на TDirectoryEdit - нареканий нет, а с этим они что-то перемудрили)
> автор сего уг, видимо решил "перестраховаться" на все случаи жизни
- к сожалению, это как раз творчество RX... и это только малая часть "странностей" обработки пути в этом модуле(там, по неведомым причинам, разбор командной строки с параметрами делается)...
Похоже под мультиселект затачивали, да не доточили...
← →
Laguna © (2011-10-13 13:12) [57]Я не думаю, что RX нужно списывать со счетов. Есть у них много удобных компонентов.
> han_malign
я водзадумал переписать выводимое значение FileName. По идее это нужно было бы сделать на событии
procedure TForm1.FilenameEdit1AfterDialog(Sender: TObject;
var Name: String; var Action: Boolean);
begin
if Action then
(Sender as TFileNameEdit).Text := AnsiDequotedStr((Sender as TFileNameEdit).Text, """));
end;
Но нифига не прокатывает. А если поставить на FilenameEdit1Changeто получится зацикливание.
← →
Медвежонок Пятачок © (2011-10-13 13:19) [58]какой вкусный кактус. невозможно оторваться.
← →
Anatoly Podgoretsky © (2011-10-13 15:29) [59]> Laguna (13.10.2011 13:12:57) [57]
RX это наркотик, напрочь мозги отшибает.
← →
Cobalt © (2011-10-18 16:45) [60]по такому поводу взводится флаг на запрет реакции на OnChange поля ввода
← →
Laguna © (2011-10-18 17:56) [61]НЕ, все нормально, это какойто личный глюк был. Все работает.
Страницы: 1 2 вся ветка
Текущий архив: 2012.01.29;
Скачать: CL | DM;
Память: 0.58 MB
Время: 0.007 c