Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Проводник на паскале


Автор: kolhozniypunk 10.7.2008, 19:07
Такая проблема ещё, нужно сделать так, что бы файл можно выбирать из списка, то есть сделать что то вроде проводника, что бы не надо было всё время переимеовывать нужный файл в input, или того рода...
  smile есть программисты 1С?

Автор: mmvds 10.7.2008, 20:17
Если не ошибаюсь, в модуле window.tpu есть возможность использования подобия проводника, в стандартных примерах, поставляемых с паскалем точно было.
Если писать проводник с нуля самому, то уйдет много времени.


Программисты 1с обитают в этом разделе:
http://forum.vingrad.ru/forum/sap-erp-1c-mrp-drp-rop-cr-qr-abap.html

Автор: kolhozniypunk 10.7.2008, 20:22
windos.tpu или window.tpu
А где их можно скачать? Гугл выдал 2 страницы, яндекс кучу не того..

Автор: mmvds 10.7.2008, 21:20
Сейчас поискал этот пример, нашел, как оказалось ему нужны другие модули: WinProcs, WinTypes таких у меня нету, пока искал их в инете, случайно нашел вот что:
http://pascalstudy.narod.ru/file_link.html
Цитата

Модуль FLB.tpu. Который позволяет легко создать рамку в которой отображаются файлы из указанной директории, которые затем можно выделять. С помощью этого модуля вы сможете узнать количество файлов, номер нажатой кнопки и имя выбранного файла. Теперь вам станет легче - при запросе от пользователя имени какого-либо файла, а пользователю будет очень просто выбрать нужный файл так как ему будет виден список всех файлов! Имеется очень много настроек, так что вы сможете поразному применять данный мдуль!
http://www.pascalstudy.narod.ru/unit/flb.zip

Думаю это то, что надо

Автор: Dobermann 11.7.2008, 04:18
Даже не знал о таком... smile  

Автор: kolhozniypunk 11.7.2008, 10:39
Да, спасибо, действительно то, что нужно, если бы оно конечно ещё работало... Unit version mismatch(FLB);

Автор: volvo877 11.7.2008, 11:10
Цитата(kolhozniypunk @  11.7.2008,  10:39 Найти цитируемый пост)
если бы оно конечно ещё работало... Unit version mismatch(FLB);
Версия Паскаля какая? На моем TP7 все прекрасно компилируется, правда для этого надо еще скачать предыдущий модуль: umft3.

Автор: kolhozniypunk 11.7.2008, 11:29
Обновил, заработало, спасибо

Автор: kolhozniypunk 11.7.2008, 17:49
Ещё такой вопрос, помогите пожалуйста, как сделать так что бы можно было ещё переходить по папкам? Просто я функций для работы с файлами не знаю..
Или как узнать путь к файлу, который компилируется?
 smile в каком разделе можно достать информацию о свойствах МР3-файлов?

Автор: Dobermann 12.7.2008, 04:04
Цитата

Ещё такой вопрос, помогите пожалуйста, как сделать так что бы можно было ещё переходить по папкам? Просто я функций для работы с файлами не знаю..
Или как узнать путь к файлу, который компилируется?

В dos-модуле полно таких процедур и функций, только я их не помню =)

Автор: volvo877 12.7.2008, 11:20
Цитата(kolhozniypunk @  11.7.2008,  17:49 Найти цитируемый пост)
как сделать так что бы можно было ещё переходить по папкам?
ChDir в помощь...

Цитата(kolhozniypunk @  11.7.2008,  17:49 Найти цитируемый пост)
Или как узнать путь к файлу, который компилируется?
Это тебе зачем? Может, к файлу, который выполняется?


Автор: kolhozniypunk 12.7.2008, 21:34
Цитата(volvo877 @  12.7.2008,  11:20 Найти цитируемый пост)
Это тебе зачем? Может, к файлу, который выполняется?

просто файл, который компилируется, брал файл на обработку из своей директории, но уже не нужно, такой вопрос, этот FLB модуль, как его просмотреть? Просто нужно его немного подкорректировать, 8 символов-не то...

Автор: mmvds 12.7.2008, 22:45
Цитата(kolhozniypunk @  12.7.2008,  21:34 Найти цитируемый пост)
этот FLB модуль, как его просмотреть? Просто нужно его немного подкорректировать, 8 символов-не то...

Модуль tpu обратно в pas насколько я знаю перевести нельзя, следует обратиться к разработчику этого модуля.

Насчет 8-и символов- это ограничение dos имен, чтобы обойти его, можно прибегнуть к небольшой хитрости-скопировать через команду xcopy файл с длинным именем как файл с коротким и работать уже с коротким именем, вот только нужно знать полное длинное имя.

Пара примеров:

Чтение из файла 1234567890.txt
Код

{$M $4000, 0, 0}
uses dos;
Exec(GetEnv('COMSPEC'),'/c xcopy /Y 1234567890.txt bufer.*');
assign(f,'bufer.txt');
reset(f);
readln(f,p);{считываем то, что надо}
close(f);


Запись в файл 1234567890.txt
Код

{$M $4000, 0, 0}
uses dos;
assign(f,'bufer.txt');
rewrite(f);
writeln(f,'lalala');{записываем то, что надо}
close(f);
Exec(GetEnv('COMSPEC'),'/c xcopy /Y bufer.txt 1234567890.*');


P.s. А вообще если про среду разработки проекта ничего не оговаривается, переделай всю прогу в Delphi, там есть специальные компоненты - OpenDialog и SaveDialog - стандартные виндовозовские менюшки "открыть" и "сохранить"

Автор: kolhozniypunk 12.7.2008, 23:09
Я так понял, файл bufer.txt-файл,для хранения имени файла 1234567890.txt?


Да это не работа, а помощь, так что писать можно в чём угодно, было бы время на хоть какое то изучение, просто там много файлов для обработки, а обработать их нужно как можно скорее, вобще проблема-приходит отчёт из 1С, но если переводить в excel, то получается абракадабра, разобрать которую сложно, так как это нужно срочно, пользуюсь тем, что знаю, сейчас допишу так, осталось вот только договориться с проводником этим, а потом наберу мануалов по 1с и буду его изучать, потом перепишу...

Всё, разобрался...

Автор: mmvds 13.7.2008, 00:49
Цитата(kolhozniypunk @  12.7.2008,  23:09 Найти цитируемый пост)
Я так понял, файл bufer.txt-файл,для хранения имени файла 1234567890.txt?

Нет, bufer.txt это копия файла 1234567890.txt (любого файла с длинным именем (до 256 символов)) чтобы можно было без особых вымудрений работать с ним через паскаль.
Цитата(kolhozniypunk @  12.7.2008,  23:09 Найти цитируемый пост)
Да это не работа, а помощь, так что писать можно в чём угодно, было бы время на хоть какое то изучение, просто там много файлов для обработки, а обработать их нужно как можно скорее, вобще проблема-приходит отчёт из 1С, но если переводить в excel, то получается абракадабра, разобрать которую сложно, так как это нужно срочно, пользуюсь тем, что знаю, сейчас допишу так, осталось вот только договориться с проводником этим, а потом наберу мануалов по 1с и буду его изучать, потом перепишу...

Надо было сразу писать в раздел 1С, возможно проблема решается гораздо быстрее.

Автор: kolhozniypunk 13.7.2008, 00:54
к 1с я ещё ни разу не прикасался, а так эта программа уже дописана) 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)