Вверх ↑
Этот топик читают: Гость
Ответов: 29
Рейтинг: -1
#1: 2007-12-26 16:19:39 ЛС | профиль | цитата
Здравствуйте уважаемые форумчане на днях написал для себя программку на делфе , программа переименовывает файлы , кода всего на 3 строчки обидно что прога весит 400 кил , загорелся перевести эту программу под Hiasm что бы уменьшить программу , но к сожалению ничего не пойму =( все как то не привычно , помогите перевести вот этот код


#pas
procedure TForm1.Exit1Click(Sender: TObject);
var I:Smallint;
Imia:string;
Ras:string;
Dirr:string;
begin
for I := 0 to ListBox1.Items.Count-1 do
begin
Imia:= ExtractFileName(ListBox1.Items.Strings[i]);
Ras:= ExtractFileExt(ListBox2.Items.Strings[i]);
Imia:= ChangeFileExt(Imia,Ras);
Dirr:= ExtractFileDir(ListBox1.Items.Strings[i]);
RenameFile(ListBox2.Items.Strings[i],Dirr+'\'+Imia);
Beep;
end;
end;

карма: 0

0
Ответов: 5446
Рейтинг: 323
#2: 2007-12-26 16:32:07 ЛС | профиль | цитата
Примерно так:
???????????????????????????????????
карма: 1

0
Ответов: 9906
Рейтинг: 351
#3: 2007-12-26 17:03:59 ЛС | профиль | цитата
iarspider, Ты чего это
Так и сыплешь экспериментами по обвалу форума в последнее время
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2007-12-26 17:58:35 ЛС | профиль | цитата
Видимо так:

#sha
Add(ListBox,1049373,231,126)
{
Left=115
Top=70
Strings=#10:c:get.txt|
}
Add(ArrayEnum,12617545,245,203)
{
link(onItem,7074978:doEvent1,[])
link(Array,1049373:Array,[])
}
Add(Button,8909709,182,203)
{
Left=140
Top=160
link(onClick,12617545:doEnum,[])
}
Add(FilePart,5892597,420,203)
{
ExtPoint=0
link(onExt,14658165:doValue,[(464,223)(464,209)])
}
Add(Memory,14658165,476,203)
{
}
Add(FileTools,231447,483,357)
{
link(FileName,12617545:Item,[(489,296)(251,296)])
}
Add(ArrayRW,7926775,364,203)
{
link(onRead,5892597:doPart,[])
link(Array,11496220:Array,[])
link(Index,12617545:Index,[(377,191)(289,191)(289,247)(258,247)])
}
Add(ListBox,11496220,350,126)
{
Left=180
Top=70
Strings=#8:text.dat|
}
Add(FilePart,12300244,364,259)
{
link(onPath,7283650:doValue,[])
link(onName,3725394:doValue,[(408,272)(408,314)])
}
Add(Hub,7074978,308,203)
{
OutCount=3
link(onEvent1,7926775:doRead,[])
link(onEvent2,12300244:doPart,[(356,216)(356,265)])
link(onEvent3,7565902:doString,[(350,223)(350,363)])
}
Add(Memory,7283650,420,259)
{
}
Add(Memory,3725394,427,308)
{
}
Add(FormatStr,7565902,420,357)
{
DataCount=3
Mask="%1%2%3"
link(onFString,15439597:doEvent,[])
link(Str1,7283650:Value,[])
link(Str2,3725394:Value,[])
link(Str3,14658165:Value,[(440,343)(482,343)])
}
Add(Debug,15439597,462,357)
{
link(onEvent,231447:doMove,[])
}

карма: 27
0
Ответов: 5446
Рейтинг: 323
#5: 2007-12-26 18:13:04 ЛС | профиль | цитата
Galkov, вот те крест - само получается! Запостить хотел схему - а почему-то обрезалась... То ли 7й осёл хулиганит, то ли сервер, то ли просто таймаут идёт (линия порядком занята торрентами)... Решил поправить - и скрипт на отправке завис....
карма: 1

0
Ответов: 2125
Рейтинг: 159
#6: 2007-12-26 19:12:25 ЛС | профиль | цитата
А вот я замечал, если комп нерусский и скопировано не в русской раскладке - обрезает на кракозяблах стопудово
карма: 1

0
Ответов: 5446
Рейтинг: 323
#7: 2007-12-26 20:11:57 ЛС | профиль | цитата
Как раз скорее если комп (ОС) русский - тогда и режет
карма: 1

0
Ответов: 29
Рейтинг: -1
#8: 2007-12-27 01:01:04 ЛС | профиль | цитата
Dilma
Да так оно и есть спасибо ! Но как зделать цикл ? и где функция переименования ? И можно ли это дело написать со вставками Делфи ?
карма: 0

0
Ответов: 9906
Рейтинг: 351
#9: 2007-12-27 08:34:10 ЛС | профиль | цитата
Zasaev писал(а):
Но как зделать цикл ?

Он уже есть. Хинт на элемент ArrayEnum: Перебор всех элементов массива. "Перебор" - это и есть цикл
Добавь строки в ListBox-ы - они будут перебираться.

Zasaev писал(а):
и где функция переименования ?

Это метод doMove элемента FileTools
Мне правда представляется, что он позабыл одну связь:

#sha
Add(FileTools,231447,483,357)
{
link(FileName,12617545:Item,[(489,296)(251,296)])
}

Zasaev писал(а):
И можно ли это дело написать со вставками Делфи ?

Можно. Если позабыть про дельфячие юниты типа SysUtils или Forms. Собственно ответственность за размер они и несут.
Элемент вставки называется InlineCode

------------ Дoбавленo:

tsdima писал(а):
если комп нерусский и скопировано не в русской раскладке

А по-моему они одинаковые
карма: 9

0
Ответов: 29
Рейтинг: -1
#10: 2007-12-27 19:07:54 ЛС | профиль | цитата
Уххххх парился долго я с этими схемами , извините меня конечно за тупость наверное нужно было сначала описать действия программы.
Было у меня куча видео а точнее аниме естественно все без перевода то есть все смотрю с сабами, анимешек и сабов к ним очень много и что бы посмотреть комфортно видео мне приходилось очень долго это дело переименовывать , например

[Eek]Neon Genesis Evangelion (Platinum) - 01 - Angel Attack [DVDRip Dual Audio].ogm
[Eek]Neon Genesis Evangelion (Platinum) - 02 - The Beast [DVDRip Dual Audio].ogm
[Eek]Neon Genesis Evangelion (Platinum) - 03 - A Transfer [DVDRip Dual Audio].ogm
……………………….
………………………

NGE_Ep01.srt
NGE_Ep02.srt
………….

Что бы сабы проигрывал плеер их нужно переименовать , вот так

[Eek]Neon Genesis Evangelion (Platinum) - 01 - Angel Attack [DVDRip Dual Audio].ogm
[Eek]Neon Genesis Evangelion (Platinum) - 01 - Angel Attack [DVDRip Dual Audio].str
……………….

Сериалов великое множество переименовывать их в ручную ОЧЕНЬ долго ! Пытался найти программу которая это сделает автоматом но ничего путного не нашел =( .

Мужики помогите написать , очень прошу !!! В схеме запутался, прога переименовывает один последний файл и удаляет видео , остальные файлы остаются не переименованными .
И где можно посмотреть пример с InlineCode ????

карма: 0

0
Ответов: 5446
Рейтинг: 323
#11: 2007-12-27 20:17:03 ЛС | профиль | цитата
У меня схема работает. "Что я делаю не так?" (с)
карма: 1

0
Ответов: 9906
Рейтинг: 351
#12: 2007-12-27 20:17:08 ЛС | профиль | цитата
Zasaev писал(а):
прога переименовывает один последний файл и удаляет видео , остальные файлы остаются не переименованными

Наши поздраления
Но помочь не представляется возможным
Потому-что, к примеру, у нас не переименовывает только один, не удаляет видео, и все из списка переименовываются
Потому-что, к примеру, невозможно устранить ошибку, которой у тебя нет


Zasaev писал(а):
И где можно посмотреть пример с InlineCode ????

Зачем ????
Чтобы разжевывать значение каждого служебного слова, не зная даже насколько это реально ????
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#13: 2007-12-27 23:56:17 ЛС | профиль | цитата
нужно поставить точки останова на все связи идущие к FileTools и включить на них сохранение лога - тогда будет видно во всяком случае, что имена файлов передаются верно. А если делать по уму, то надо так:
code_8050.txt

кидаем на форму любое количество файлов с видео и получаем нужные расширения
карма: 27
0
файлы: 1code_8050.txt [712B] [308]
Ответов: 29
Рейтинг: -1
#14: 2007-12-28 01:40:30 ЛС | профиль | цитата
Разобрался ...... да переименовывает , в последнем примере что дал дилма прога берет копирует файл и дает ему расширение str тоесть наблюдаю такую картину лежит видео 200 метров и рядом сабы тоже 200 метров(неизвесного происхождения) . Первый пример что высылали такойже эффект , посмотрите исходники





EB Script


------------ Дoбавленo:


http://upload.com.ua/direct/900062126/Ranime.7z вот прога что на делфе написаны , левый комбо это видео правый это сабы http://upload.com.ua/direct/900062126/Ranime.7z
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#15: 2007-12-28 11:11:09 ЛС | профиль | цитата
код заключаем в соответствующие теги
карма: 27
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)