Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#1: 2016-04-13 15:47:35 ЛС | профиль | цитата
nesco, что-то ты раздобавлялся.
code_37193.txt

Часто нужно обработанный файл добавить в тот-же каталог, с тем-же именем, но с другим расширением.
Надоело тягать IC.

Может добавишь ещё один режим ?

Готовый код для компонента в IC закомментирован.

Запусти схемку. Tо что нужно - красным.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_37193.txt [2.8KB] [634]
vip
#1.1контекстная реклама от партнеров
Разработчик
Ответов: 26061
Рейтинг: 2120
#2: 2016-04-13 15:57:51 ЛС | профиль | цитата
Tad писал(а):

Может добавишь ещё один режим ?

Нах он нужен

Add(MainForm,9732129,294,231)
{
Width=588
Height=314
}
Add(FilePartElm,9787656,462,182)
{
Mode=0
link(onPart,16392858:doText,[])
}
Add(FilePartElm,16275548,462,231)
{
link(onPart,14085738:doText,[])
}
Add(FilePartElm,14461528,462,273)
{
Mode=2
link(onPart,632736:doText,[])
}
Add(FilePartElm,12336870,462,322)
{
Mode=3
link(onPart,10456162:doText,[])
}
Add(FilePartElm,8952542,462,364)
{
Mode=4
link(onPart,10171826:doText,[])
}
Add(FilePartElm,12419260,462,413)
{
Mode=5
link(onPart,7637970:doText,[])
}
Add(ODialog,6524965,294,182)
{
link(onExecute,1622222:doText,[])
}
Add(Hub,11011993,406,182)
{
OutCount=8
link(onEvent1,9787656:doPart,[])
link(onEvent2,16275548:doPart,[(452,195)(452,237)])
link(onEvent3,14461528:doPart,[(452,202)(452,279)])
link(onEvent4,12336870:doPart,[(452,209)(452,328)])
link(onEvent5,8952542:doPart,[(452,216)(452,370)])
link(onEvent6,12419260:doPart,[(452,223)(452,419)])
link(onEvent7,2503241:doPart6,[(441,230)(441,461)])
link(onEvent8,2738068:doSplit,[(431,237)(431,538)])
}
Add(Edit,1622222,350,182)
{
Left=90
Top=15
Width=450
Font=[MS Sans Serif,10,1,0,1]
link(onChange,11011993:doEvent1,[])
}
Add(Edit,16392858,532,182)
{
Left=91
Top=75
Width=451
Font=[MS Sans Serif,10,1,0,1]
}
Add(Edit,14085738,532,231)
{
Left=91
Top=100
Width=451
Font=[MS Sans Serif,10,1,0,1]
}
Add(Edit,632736,532,273)
{
Left=91
Top=125
Width=451
Font=[MS Sans Serif,10,1,0,1]
}
Add(Edit,10456162,532,322)
{
Left=91
Top=150
Width=451
Font=[MS Sans Serif,10,1,0,1]
}
Add(Edit,10171826,532,364)
{
Left=91
Top=175
Width=451
Font=[MS Sans Serif,10,1,0,1]
}
Add(Edit,7637970,532,413)
{
Left=91
Top=200
Width=451
Font=[MS Sans Serif,10,1,0,1]
}
Add(Button,803944,231,182)
{
Left=25
Top=15
link(onClick,6524965:doExecute,[])
}
Add(Edit,3034112,532,455)
{
Left=91
Top=225
Width=451
Font=[MS Sans Serif,10,1,255,1]
}
Add(InlineCode,2503241,462,455)
{
@Hint=#41:Полный путь с именем файла без расширения|
WorkPoints=#7:doPart6|
EventPoints=#6:onPart|
DataPoints=#8:FileName|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|19: FPart: string;|9: public|30: FileName, onPart:THI_Event;|50: Procedure doPart6(var _Data:TData; Index:Word);|5: end;|0:|14:implementation|0:|16:uses hiStr_Enum;|0:|63:Procedure THiAsmClass.doPart6; //Path + filename без расширения|5:begin|44: FPart := ReadString(_Data, FileName, '');|27: if FPart = '' then exit;|22: rparse(FPart, '.');|42: _hi_CreateEvent(_Data, @onPart, FPart);|5:end; |1:{|66:procedure THIFilePartElm._work_doPart6; // Path + file name WOExt|5:begin|50: FPart := ReadString(_Data, _data_FileName, '');|27: if FPart = '' then exit;|22: rparse(FPart, '.');|49: _hi_CreateEvent(_Data, @_event_onPart, FPart);|4:end;|1:}|0:|0:|4:end.|
link(onPart,3034112:doText,[])
AddHint(-74,44,191,26,@Hint)
}
Add(Edit,8759850,532,532)
{
Left=91
Top=250
Width=451
Font=[MS Sans Serif,10,1,255,1]
}
Add(MultiStrPart,2738068,462,532)
{
Char="."
Count=1
Direct=1
link(onSplit,8759850:doText,[])
}


И чего это забыло в пакете WEB
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#3: 2016-04-13 16:13:39 ЛС | профиль | цитата
Если разобраться, то только для чтения схемы без заглядывания в компонент - иконка скажет. (если кто нарисует )
Используй MultiStrPart и FilePathElm
nesco писал(а):
Нах он нужен

Я думал, что если есть спец компонент FilePathElm, то он должен с путями и именами делать всё.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#4: 2016-04-13 16:24:22 ЛС | профиль | цитата
Tad, совершенно верно, но там есть некоторые нюансы с разделителем файлов, но вот с разделителем расширения совершенно никаких. Да и FilePathElm был разработан гораздо раньше MultiStrPart
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#5: 2016-04-13 16:38:07 ЛС | профиль | цитата
Как говорится - "Наше дело - предложить, Ваше - отказаться"
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#6: 2016-04-13 17:02:42 ЛС | профиль | цитата
Ладно, я понимаю читаемость с иконкой, но вот этого
Tad писал(а):
Надоело тягать IC

я так и не понял, ведь есть же компонент MultiStrPart, нафиг там еще IC нужен, читаемость от IC ведь не улучшается
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#7: 2016-04-13 17:19:37 ЛС | профиль | цитата
nesco писал(а):
я так и не понял, ведь есть же компонент MultiStrPart
Tad писал(а):
Я думал, что если есть спец компонент FilePathElm, то он должен с путями и именами делать всё.
без никаких MultiStrPart
А IC у меня ещё тоже с тех времен когда MultiStrPart и не пахло, а файлы вроде
Aleksandrova_Nasledniki-Ostapa-Bendera_20_Polcarstva-i-teshcha-na-sdachu.431328.fb2.zip
уже появились.
IC я сегодня переделал под strenum. У меня было по старинке
For i:=Length(str) downto 1 do // искал последнюю точку и т.д.)


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#8: 2016-04-14 00:07:29 ЛС | профиль | цитата
Tad писал(а):
Я думал, что если есть спец компонент FilePathElm, то он должен с путями и именами делать всё.

Мало ли кто о чем думает. Реализовать одним компонентом можно, можно. Все, вопрос закрываем.
------------ Дoбавленo в 00.07:
Подумал и добавил, пусть будет, кодов все равно не жрет
карма: 22

1
Голосовали:Tad
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)