Как хранить эти пути в схеме и как автоматически
генерировать экранирующие символы?
Как сохранить в компоненте путь с цифрами в начале имени файла или папки и передавать его внутри схемы?
Вот глючная схема того что мне надо. Типа слайдшоу. Создайте рядом с прогой папку "фотки" и накидайте туда фоток с именами вида 1.jpg 2.jpg 3.jpg и попробуйте их добавить кнопкой добавления. И чтобы потом этот список сохранился в файл. Че-то не хочет сохраняться и грузиться потом при старте программы автоматом если есть такие имена. Еще странно что если из диалога выбора файлов имена попадают в список - то нормально отображаются, а если вручную тот же список им созданный прописать в компоненте Мемо до компиляции, то при старте там все пути искажены, если только не поставить экранирующий слеш.
Add(Memo,15221221,336,427)
{
Top=200
Width=450
Align=4
FileName="paths.txt"
Strings=#45:D:\HP_Probook\Docs\Hiasm\Projects\фотки\1.jpg|45:D:\HP_Probook\Docs\Hiasm\Projects\фотки\2.jpg|46:D:\HP_Probook\Docs\Hiasm\Projects\фотки\\3.jpg|
ScrollBars=3
Point(doLoad)
Point(doSave)
link(onChange,13533170:doEvent1,[])
}
Add(MainForm,5760284,483,301)
{
Left=20
Top=105
Width=466
Height=319
Caption="Image Viewer"
Position=1
link(onCreate,15221221:doLoad,[(527,321)(527,391)(324,391)(324,461)])
}
Add(Button,10902724,70,427)
{
@Hint=#27:Запуск диалога выбора файла|
Top=170
Width=450
Height=30
Align=4
Font=[MS Sans Serif,10,1,0,1]
TabOrder=-1
Caption="Добавить фото с цифрой в начале названия файла"
link(onClick,5049552:doExecute,[])
}
Add(ODialog,5049552,119,427)
{
Filter="Файлы рисунков( png )|*.png|Файлы рисунков( jpg )|*.jpg|Файлы рисунков( gif )|*.gif|Файлы рисунков( bmp )|*.bmp|All files|*.*|"
FileName=""
link(onExecute,9889022:doEvent1,[])
}
Add(AlphaImage,2282639,623,588)
{
Width=450
Height=170
Align=5
}
Add(Img_Loader,2555054,574,588)
{
link(onLoad,2282639:doLoad,[])
}
Add(Timer,10725271,217,588)
{
link(onTimer,3525988:doNext,[])
}
Add(ArrayRW,7391299,448,588)
{
link(onRead,1534064:doEvent1,[])
link(Array,15221221:Array,[(454,482)(356,482)])
}
Add(CounterEx,3525988,357,588)
{
Point(doMax)
link(onNext,7391299:doRead,[])
}
Add(DoData,6873056,301,602)
{
link(onEventData,3525988:doMax,[(345,608)(345,601)])
link(Data,15221221:Count,[(307,488)(349,488)])
}
Add(Hub,1534064,504,588)
{
link(onEvent1,2555054:doLoad,[])
link(onEvent2,5760284:doCaption,[(530,601)(530,454)(471,454)(471,307)])
}
Add(Hub,13533170,406,427)
{
InCount=2
link(onEvent1,6873056:doData,[(432,433)(432,521)(289,521)(289,608)])
link(onEvent2,11743706:doEvent2,[(432,440)(432,458)(212,458)(212,475)])
}
Add(Hub,9889022,182,427)
{
link(onEvent1,15221221:doAdd,[])
link(onEvent2,11743706:doEvent1,[(210,440)(210,468)])
}
Add(DoData,2726866,273,462)
{
Data=String(paths.txt)
link(onEventData,15221221:doSave,[])
}
Add(Hub,11743706,224,462)
{
InCount=2
link(onEvent1,2726866:doData,[])
}
Add(InfoTip,14730098,245,294)
{
Info=#22:Глюк с цифрами в пути.|49:Как хранить эти пути в схеме и как автоматически |34:генерировать экранирующие символы?|
Width=190
Height=81
}
--- Добавлено в 2019-02-21 07:06:36
Как србственно программную подстановку экранирущего слеша организовать? Хочу массив с путями на картинки загруженные пользователем перебирать и выводить, а вдруг у пользователя картинка с цифры начинается? Как ее программно тогда вывести?
Неужели все выводят пользователю табличку с предупреждением "Имя файла не должно начинаться с цифры!" ?))
--- Добавлено в 2019-02-21 07:34:08
Чего я только не пробовал - обрабатывать пути с цифрами после слешей как строки и автозаменой добавлять два слеша вместо одного - ничего не получалось. .