Вопрос № 33417: Здравствуйте, уважаемые друзья :-)
У меня появился интересный вопрос для меня. Смысл вот в чем:
Я произвожу сканирование папки до 3 уровня сканирования, т.е. Папка1\\Папка2\\Папка3\\Папка4.... Так вот... мне надо получить масс...Вопрос № 33435: УВ. Эксперты! У меня к Вам вопрос как можно отправить файл размером около 200кбайт по средством TSocket. отправка простого тескта без проблем вот файлы отправляются только несколько байтов. может вышлите примерчик. Заранее благодарен
С/У Ера ...Вопрос № 33450: Здравствуйте,уважаемые эксперты.
Как можно показыавать процесс загрузки(открытия) страницы в TWebBrowser с помощю ProgressBar?...Вопрос № 33456: Здравствуйте, у меня 2 ма-а-аленькие проблемки:
1. Как мне засунуть в dll картинку (любого формата), допустим *.bmp, а потом из своего приложения загрузить эту *.bmp ну допустим в Image1.
2. Что такое ресурс, как его создать, как им пользов...Вопрос № 33459: Здравствуйте, уважаемые эксперты.
Нужно из содержимого бинарного файла сделать строку (string). Есть предложения? Приму любые ответы. (куда я денусь :))...Вопрос № 33463: Кто подскажет, где взять библиотеку для работы с TIFF-файлами, написанную исключительно на языке Delphi и которую можно было бы скомпилировать в среде Lazarus, чтобы была (хотя бы какая-то) возможность написать приложение с её испольованием для Linux...
Вопрос № 33.417
Здравствуйте, уважаемые друзья :-)
У меня появился интересный вопрос для меня. Смысл вот в чем:
Я произвожу сканирование папки до 3 уровня сканирования, т.е. Папка1\\Папка2\\Папка3\\Папка4.... Так вот... мне надо получить массив названий этих папок, так, чтобы я мог определить точное положение, допутим папки Папка4, а именно Папка1, папка2 и папка3.......
Я решил использовать структуру:
Type Dirs = Record
Uroven:byte; // 1-первый 2-второй и т.д.
Ur1:string; //
Ur2:string; // Названия папок
Ur3:string; //
Ur4:string; //
end;
Затем создаю массив типов Dirs и имею полный отчет.....
Целесообразно ли это? Есть ли более простой(быстрый) (кушающий меньше памяти)способ?
Отправлен: 17.01.2006, 07:17
Вопрос задал: D.M. (статус: 2-ой класс)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Vbhjndjhtw
Здравствуйте, D.M.!
Для экономии памяти используй DLL.
P.S.Вообще исходник бы неплохо.
Ответ отправил: Vbhjndjhtw (статус: 8-ой класс)
Отправлен: 17.01.2006, 07:48 Оценка за ответ: 2 Комментарий оценки: Не думаю, что dll экономит память ;-) И как-то не горю желанием делать dll ради одной единственной функции... Тем более вызов функции из dll тоже кушает время.... :-p
А исходник дан уже в вопросе.... и вопрос конкретный.... ну если не понятен был вопрос, то извеняй :-)
Отвечает: Boriss
Здравствуйте, D.M.!
Конечно, это не есть хороший путь, поскольку будут папки 1-го уровня и т.д., а ВЫ создали место для остальных. По-моему, лучше использовать TStrings для хранения полных путей - это динамическая структура, а выделять уровни для данной папки лучше тоже программно, а не хранить ее.
Это обычная дилемма: скорость или память
--------- Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор)
Отправлен: 17.01.2006, 08:13 Оценка за ответ: 5 Комментарий оценки: Спасибо.... :-) Вроде как понял:
Type Dirs = Record Uroven:byte; // 1-первый 2-второй и т.д. DirZ:TStrings; end;
А потом обычными методами работать... :-) Хотя, если ur1..4 не заполнены, т.е. = 0 байт, то и занимают они вроде тоже не много места..... :-)
Отвечает: Меркулов Алексей
Здравствуйте, D.M.! Меньше памяти - создайте StringGrid где-нибудь, Visible:=False; и все
Ответ отправил: Меркулов Алексей (статус: 2-ой класс)
Отправлен: 17.01.2006, 22:10
Вопрос № 33.435
УВ. Эксперты! У меня к Вам вопрос как можно отправить файл размером около 200кбайт по средством TSocket. отправка простого тескта без проблем вот файлы отправляются только несколько байтов. может вышлите примерчик. Заранее благодарен
С/У Ера
Отправлен: 17.01.2006, 13:22
Вопрос задал: ERA (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: akaDemik
Здравствуйте, ERA!
Можно открыть файл как поток (Stream) и отправить его. Учтите что после отправки поток будет освобожден (Free). Т.е. если в примере перед end-ом дописать f.free, получите ошибку доступа к памяти ;)
Приложение:
Ответ отправил: akaDemik (статус: 2-ой класс)
Отправлен: 18.01.2006, 09:41
Вопрос № 33.450
Здравствуйте,уважаемые эксперты.
Как можно показыавать процесс загрузки(открытия) страницы в TWebBrowser с помощю ProgressBar?
Отвечает: Rusland
Здравствуйте, Клёмин Сергей!
Например вот так:
procedure TForm1.WebBrowserProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
begin
ProgressBar.Max:=ProgressMax;
ProgressBar.Position:=Progress;
end;
--------- Пресловутое недостающее звено между обезьяной и цивилизованным человеком - это как раз мы. (Конрад Лоренц)
Ответ отправил: Rusland (статус: Специалист)
Отправлен: 17.01.2006, 16:17 Оценка за ответ: 5
Отвечает: Ерёмин Андрей
Здравствуйте, Клёмин Сергей!
У TwebBrowser есть событие OnProgressChange, которому передаются два параметра - Progress (текущая позиция прогресса загрузки) и ProgressMax (максимальное значение прогресса). Такие же свойства есть у TProgressBar - Max (максимальное значение) и Position (позиция). Мой коллега уже привёл действующий пример :)
--------- Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 17.01.2006, 17:04 Оценка за ответ: 5
Вопрос № 33.456
Здравствуйте, у меня 2 ма-а-аленькие проблемки:
1. Как мне засунуть в dll картинку (любого формата), допустим *.bmp, а потом из своего приложения загрузить эту *.bmp ну допустим в Image1.
2. Что такое ресурс, как его создать, как им пользоваться... вобщем из этих вопросов понятно, что я совершенно не имею представления, что это такое. Но тем неменее знаю, что это полезная штучка. Может быть статейки какие-нить, или примерчики с объяснениями!
Заранее ОГРОМНОЕ спасибо!
Отправлен: 17.01.2006, 17:11
Вопрос задал: Toxic~Fire (статус: 2-ой класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Slava
Здравствуйте, Toxic~Fire!
Создаешь текстовый файл с расширением .RC и пишешь в нем<имя ресурса> <тип хранимого ресурса> <имя файла> например:
Нужно, что бы все перечисленные в нем файлы и сам файл RC лежали в одной папке.
Далее, компилируешь его с помощью утилиты brcc32 в файл .RES -> "brcc32 myres.rc". Получаешь myres.res. Это и есть файл ресурсов. Потом присоединяешь в свой проект или в отдельный модуль с помощью директивы {$R myres.res}. После присоединения его к проекту надо проект перестроить (Build).
Загрузить картинку можно используя LoadFromResourceName.
Так же файл ресурсов можно создать с помощью ImageEditor, которая идет вместе с delphi.
Ответ отправил: Slava (статус: 7-ой класс)
Отправлен: 17.01.2006, 21:12
Отвечает: Diman_A
Здравствуйте, Toxic~Fire!
Про создание ресурсов Slava уже объяснил, я повторять не буду.
Как извчечь bitmap из dll:
создаешь пустую dll, директивой {$r myres.res} привязываешь файл myres.res к ней. Компилируешь dll, и оставляешь ее на время.
Создаешь новое приложение, кидаешь на форму image1 и button1. По событию onclick для кнопки пишешь такой код:
procedure TForm1.iButton1Click(Sender: TObject);
var
AModule: THandle;
begin
AModule := LoadLibrary('project2.dll'); //путь к dll, у меня она - в папке проекта
image1.Picture.BitMap.LoadFromResourceName(AModule, 'bmp');
FreeLibrary(AModule);
end;
Ответ отправил: Diman_A (статус: 3-ий класс)
Отправлен: 20.01.2006, 05:24
Вопрос № 33.459
Здравствуйте, уважаемые эксперты.
Нужно из содержимого бинарного файла сделать строку (string). Есть предложения? Приму любые ответы. (куда я денусь :))
Отправлен: 17.01.2006, 17:48
Вопрос задал: [Bruder] (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Zubex
Здравствуйте, [Bruder]!
function File2Str(FileName:String):String;
var FS:TFileStream;
begin
Result:='';
FS:=TFileStream.Create(FileName,fmOpenRead);
try
SetLength(Result,FS.Size);
FS.Read(Result[1],FS.Size);
finally
FS.Free;
end;
end;
FileName - полное имя файла с путями.
Удачи
--------- Если не знаешь что сказать - лучше промолчи...
Ответ отправил: Zubex (статус: 5-ый класс)
Отправлен: 17.01.2006, 17:59 Оценка за ответ: 5 Комментарий оценки: Большое спасибо, попробую...
Вопрос № 33.463
Кто подскажет, где взять библиотеку для работы с TIFF-файлами, написанную исключительно на языке Delphi и которую можно было бы скомпилировать в среде Lazarus, чтобы была (хотя бы какая-то) возможность написать приложение с её испольованием для Linux и MacOS. Вообще, у кого какие идеи по этому поводу?