Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
4-1254322800
ackii
2009-09-30 19:00
2012.01.29
помогите разобраться с WH_DEBUG


3-1270538121
kudatsky
2010-04-06 11:15
2012.01.29
Оцените эффективность запроса в FireBird


15-1318019402
Юрий
2011-10-08 00:30
2012.01.29
С днем рождения ! 8 октября 2011 суббота


4-1254333344
EPaul
2009-09-30 21:55
2012.01.29
Как запустить программу пользователем SYSTEM


3-1270789890
12
2010-04-09 09:11
2012.01.29
Запрос работает из Management Studio. Из программы нет.