Последние записи
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
- wprintf как напечатать кириллицу
- Взаимодействие через командную строку
- Сравнение языков на массивах. Часть 1
- Сравнение языков по скорости
- Чтение огромных xml-файлов
- Как в Python+Selenium webdriver открыть новую вкладку в уже открытом браузере?
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
23rd
Окт
Команды Cmd в консоли Delphi
Насчёт запуска какого нить файла понятно:
ShellExecute или WinExec
А как выполнять другие команды cmd с параметрами?
Например:
del /S/F/Q %USERPROFILE%\AppData\Local\Temp\*.*
Или
copy /y file1.txt file2.txt
или
MKDIR Newfolder
или
XCOPY /E/G/H/Y 'D:\myfiles\*.*' 'j:\backup\myfiles\*.*'
или
ATTRIB -R-A-S-H C:\folder /D
Ну и т.д.
Если можно конкретные примеры.
20th
Окт
Выбор случайных вопросов без повторений
К примеру есть 57 вопросов из которых должны отобразится всего 15 у пользователя на экране.
Каждый следующий вопрос должен появляться при нажатии кнопки.
Но как показала практика из за генерации случайных чисел вопросы могут выпадать по два раза подряд одни и те же. Или за все время прохождения теста.
Вопрос, как сделать проверку чисел чтобы не выводить значения которые уже были?
7th
Окт
Распаковка определённых файлов/папок из 7zip (sevenzip.pas)
Использую код:
Код:
uses
...sevenzip, ...
function ProgressCallback(sender: Pointer; total: boolean; value: int64): HRESULT; stdcall;
begin
if total then
Form1.sprgrsbr1.Max:= value
else
Form1.sprgrsbr1.Position:= value;
Result:= S_OK;
end;
function Decompress(FileName, DestDir, ArcFname: String; ArcDir: Boolean ): Boolean;
var
i: Integer;
ItP: string;
items: array[1..11] of Cardinal;
sprgrsbr1: TsProgressBar;
begin
Result:= False;
Application.ProcessMessages;
try
with CreateInArchive(CLSID_CFormat7z) do
begin
OpenFile(FileName);
SetProgressCallback(sprgrsbr1, ProgressCallback);
for i:= 1 to NumberOfItems - 1 do
if not ItemIsFolder then
//ExtractItem(items, Steam, False); - как ей пользоваться в душе не понимаю...
ExtractTo(DestDir);
end;
finally
Result:= True;
end;
end;
Как распаковать только нужные, кто знает подскажите..?
Вот файлы 7zip
30th
Сен
Сохранение экрана и звука в AVI файл
Как сделать такую программу которая могла бы записывать все что происходит на компьютере в AVI файл?
(желательно со звуком).
30th
Выбор записей из ListBox в соответствии со значением ComboBox и размещение результата в Memo
Допустим у меня есть combobox и memo. В комбобокс у меня есть оценки (2,3,4,5).. в Listbox у меня написано например 2=Иванов… И вот как мне,выбирая в комбобокс «2»,в мемо отобразить Иванов..
29th
Сен
Удалить дубликаты вместе с оригиналом из TStrings
удалить дубликаты вместе с оригиналом из Tstrings, если первые 4 символа равны 4 символам других строк, пробовал такой код, но ошибка list index out of bounds 0, причем если написать условие
if t = t[q] then t.delete(q);
то все нормально. Главное еще оптимизировать код под работу через F:textfile; (главное чтобы работало быстро и не через оперативную память)
var T:Tstringlist;
i,q:integer;
...
for I := t.Count-1 downto 0 do
for q := i-1 downto 0 do
if Copy(t,1,4) = Copy(t[q],1,4) then t.Delete(q);
28th
Сен
Как нарисовать две перпендикулярных линии(уголок)?
Вот как на иллюстрации, только без заливке и наклонной линии.
26th
Сен
Сравнение текстовых файлов \ Варианты
Строки текстового файла 1.txt необходимо проверить на совпадение — со строками текстового файла 2.txt. И уникальные строки, которых нет в файле 1.txt, записать в файл 3.txt.
К примеру:
Tекст в первом файле — 1.txt
Test1
Test2
Test3
Test4
Test5
Текст во втором файле — 2.txt
Test1
Test2
Test3
Test4
Test5
Stroka1
Stroka2
stroka3
После сравнения, результат в третьем файле — 3.txt
Stroka1
Stroka2
stroka3
Вот мои решения и их недостатки =>
Вариант №1 (Загрузка в память):
var
i: integer;
s1, s2: TStrings;
begin
s1 := TStringList.Create;
s2 := TStringList.Create;
Try
s1.LoadFromFile('1.txt');
s2.LoadFromFile('2.txt');
for i := s1.Count - 1 downto 0 do
if s2.IndexOf(s1) >= 0 Then
s1.Delete(i);
s1.SaveToFile('3.txt');
Finally
s1.Free;
s2.Free;
End;
end;
Проблема в следующем: Если файл размеров 500 мегабайт то вся память забивается и выскакивает ошибка — Out of memory. Ну это само собой понятно поскольку я загружаю и обрабатываю все в памяти.
Вопрос: Может как то можно оптимизировать код в этом варианте, кто что может подсказать ?
Вариант №2 (Чтение построчно):
var
f1, f2, f3: textfile;
s1, s2: string;
b: boolean;
begin
assignfile(f1, '1.txt');
assignfile(f2, '2.txt');
assignfile(f3, '3.txt');
rewrite(f3);
reset(f1);
while not eof(f1) do
begin
readln(f1, s1);
reset(f2);
b := true;
while not eof(f2) and b do
begin
readln(f2, s2);
if s2 = s1 then
b := false;
end;
if b then
writeln(f3, s1);
end;
closefile(f1);
closefile(f2);
closefile(f3);
end;
Проблема в следующем: Очень и очень медленно работает, ну и тут принцип понятен:
1.Читаем строку из 1.txt файла
2.Открываем 2.txt, проходим по нему ищем совпадение
3.Закрываем 2.txt файл
И так для каждой строки из первого файла. Это куча времени и затрат.
Вопрос, скорее всего утверждение: В этом варианте, само собой понятно что далеко не уедешь.
П.С: Подскажите еще варианты, при использования которых, можно обрабатывать файлы до 1 гигабайта, не загружая память и при этом, иметь, хотя бы, среднюю скорость обработки ?
24th
Сен
Определить количество заданных точек (x,y)
включая ее границы,
где x = x0 + ih;
y = y0 + ih;
x0 = 0,5; y0 = 1,5;
h = 0,1; i = 1(1)10.
19th
Сен
DirectShow отзеркалить или перевернуть изображение
Как, используя DirectShow, отзеркалить или перевернуть изображение? Есть ли для этого какой-нибудь интерфейс или фильтр?
Если делать это через SampleGrabberCallback, то видео тормозит.
Облако меток
css реестр ассемблер timer SaveToFile ShellExecute программы массив советы word MySQL SQL ListView pos random компоненты дата LoadFromFile form база данных сеть html php RichEdit indy строки Win Api tstringlist Image мысли макросы Edit ListBox office C/C++ memo графика StringGrid canvas поиск файл Pascal форма Файлы интернет excel Microsoft Office Excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)