Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi

Автор: vunder
Дата сообщения: 29.12.2005 18:31
Pinocchio
проблема в том, что я вообще не могу выполнить никакую команду. Вопрос в том, как это можно сделать, а с получением результата я сам разберусь
Автор: ShIvADeSt
Дата сообщения: 30.12.2005 01:08
vunder

Цитата:
проблема в том, что я вообще не могу выполнить никакую команду. Вопрос в том, как это можно сделать, а с получением результата я сам разберусь

Однако это уже FAQ с длинной бородой, вот тебе на выбор ShellExecute, CreateProcess, WinExec.
Автор: isem
Дата сообщения: 30.12.2005 08:32
Помогите решить проблему!
есть таблица с неограниченым количеством строк и столбцов, нужно найти и удалить все одинаковые строки.
таблица xml писана на делфи.
Автор: vserd
Дата сообщения: 30.12.2005 11:03
isem

Цитата:
есть таблица с неограниченым количеством строк и столбцов, нужно найти и удалить все одинаковые строки.

Ну так строй индекс по записям, а потом удаляй дубликаты.
Автор: isem
Дата сообщения: 30.12.2005 16:53
а как ето сделать? Если можно кусочек кода
огромное человеческое СПАСИБО!!!
Автор: Viktor_Zh
Дата сообщения: 06.01.2006 14:12
Вопрос:
Есть лог-файл, который постоянно пишется другой программой. Файл очень большой, может быть 20 Гб. (В память его нельзя грузить).
Как открыть его только для чтения, и считать из него строку, удовлетворяющую какому-либо условию?
Через TextFile(AssignFile, Reset..) не получается, даже если открываю для чтения (FileMode:=fmOpenRead or fmShareDenyNone) - программа, которая пишет лог, вылетает.
Попробовал через потоки - работает, но при этом непонятно, как определить конец строки.
На С++ писал такую пргу через FILE *F, Fopen, строку читал при помощи fgets().
Не могу найти аналог в Дельфе.
Автор: MrZeRo
Дата сообщения: 06.01.2006 15:46
Viktor_Zh

Цитата:
Попробовал через потоки - работает, но при этом непонятно, как определить конец строки.

Если работает через потоки (я так понял, имеется в виду разновидности TStream),
можно использовать TStringStream для чтения. Или посмотреть в его реализации (модуль Classes.pas) кусок кода для определения конца строки, так будет, наверное, легче, это метод ReadString.
Автор: dyr farot
Дата сообщения: 06.01.2006 15:51
stream := TFileStream.Create('file.txt', fmOpenRead or fmShareDenyNone);
и читай или побайтно для символов с кодом 10, 13 или читай буффер и разбирай его
Автор: Podkrisok
Дата сообщения: 08.01.2006 00:21
За что именно отвечают и какие процедуры содержат встроенные в Delphi модули TeeProcs и TeeEngine из пакета TeeChart. Они добавляются в раздел Uses при компиляции программы содержащей компонент Chart.
Мне понятно что они нужны для построения диаграмм и графиков различных видов и форм но хотелось бы узнать более поконкретней. Смотрел в справке по Delphi но ничего конкретного про них не нашел.
Автор: DenSer
Дата сообщения: 10.01.2006 10:41
Пишу программульку с иконкой в трее на Delphi 7, столкнулся со следующей проблемой: если в трей выводить иконку например из ImageList, то она (иконка) преобразуется из 32-х битной в содержащую всего 256 цветов (если не ошибаюсь, может больше, но точно не 32 бита).
Проблему решил следующим способом: создаю ico-файл содержащий только один формат иконки (16*16, 32 бита), присваиваю эту иконку главной форме и уже в трей вывожу иконку главной формы. Таким образом в трее отображается иконка с необходими мне 32 битами цвета. Но если к примеру нужно чтобы иконка менялась на другую по какому-либо собитию, то чтобы сохранить эти самые 32 бита у второй иконки приходится создавать ещё одну форму (скрытую), присваивать ей иконку подготовленную вышеописанным способом и выводить в трей иконку этой скрытой формы.
Вопрос: есть ли способ сохранить 32-х битный цвет в трее человеческим способом?
Кстати подобный вопрос стоит и по поводу вывода 32-х битных изображений в PopupMenu.
Заранее спасибо!
Автор: dyr farot
Дата сообщения: 10.01.2006 12:05
можно все иконки ресурсами запихнуть и потом LoadImage() вызывать
Автор: DenSer
Дата сообщения: 10.01.2006 12:07
dyr farot
спасиб! попробую
Автор: ShIvADeSt
Дата сообщения: 11.01.2006 01:03
DenSer

Цитата:
можно все иконки ресурсами запихнуть и потом LoadImage() вызывать

Самое главное это иконки в ресурсы пихать не стандартным Дельфийским респроводником (он максимум 256 цветов держит) а чем нить типа Restorator (я вообще почти все ресурсы им создаю). Тогда иконка будет иметь столько цветов, сколько надо. Кстати 32 битные иконки только под ХР норм выглядят в трее, все предыдущие оси если не ставить спец либ, их мерзко отображают .
Автор: chaugi
Дата сообщения: 11.01.2006 15:56
Добрый день.

Есть type pwd = record который имеет n-нное колличество записей.

Цитата:
type password = record
name: string;
...
end;

Создаётся переменная

Цитата:
var pwd: password;

Во время использования программы pwd заполняется данными...

Скажите как нужно записать, чтобы например при нажатии на кнопку SAVE данные из record сохранились бы в фаил под название "data.dat".

Мне нужно так, что
1) если фаил не существует, то создаётся фаил "data.dat" и записывается pwd
2) если фаил есть и в нём есть уже запись с такимже name (pwd.name совпадает) то мы перезаписываем информацию
3) если такой записи в файле нет, то делаем append.

З.Ы В Pascale всё было просто. Делалось

Цитата:
type MyFile = file of password;

а при создании

Цитата:

var fff: MyFile;
assign(fff, 'data.dat');
{$I-}
reset(fff);
{$I+}

Примерно так, а в Delphi я ничего не разберу, подскажите пожалуйста.

Спасибо.
Автор: OdesitVadim
Дата сообщения: 11.01.2006 16:34
chaugi
Всё почти так, только вместо
Assign -> AssignFile
Close -> CloseFile
Остальное - неизменилось и работает нормально (Только говорят по .NET этот метод работать вроде не будет, не знаю, не проверял)
Автор: chaugi
Дата сообщения: 11.01.2006 17:06
OdesitVadim
Куда не вставляй этот type MyFile = file of password; всё время выдёт ошибку.
Насколько я понял строчку надо вставить после основного type, т.е. после end; и пере var Form1: TForm1;
Если вставить туда, то ошибка такая: Type 'password' needs finalization - not allowed in file type.
Автор: gpi
Дата сообщения: 11.01.2006 17:18
chaugi
Размер записи должен быть задан явно: string[100] и т.д.

Код: type password = record
name: string[100];
...
end;
Автор: Admin CSB
Дата сообщения: 11.01.2006 19:53
gpi

Цитата:
Размер записи должен быть задан явно: string[100] и т.д.

Гм. А в чем отличие string от string[255] в таком случае???
Автор: LordMAD
Дата сообщения: 11.01.2006 20:04
Admin CSB

Цитата:
Гм. А в чем отличие string от string[255] в таком случае???

string[255] - short string
string - long string
Подробнее смотри в справке
Автор: SergeBS
Дата сообщения: 12.01.2006 09:28
Admin CSB
В том, что string - задается ключом компилятора и размер не фиксирован. Запись должна иметь фиксированный размер. Поэтому нужно задавить размер string.
Автор: Kr_Alex
Дата сообщения: 12.01.2006 12:30
Как разешить такую проблему
Использую COM объект для работы с Excel
Есть переменная t: variant. Нужно ее сравнить со значением 1
if t = 1 then ....
но если в я чейке текст, то программа на этом естественно ломается.
Как проверить на то что в ячейке число?

Добавлено:
Да, перед этим t присваивается Value ячейки
Автор: gpi
Дата сообщения: 12.01.2006 12:57
Kr_Alex
if VarType(t)=varInteger then ...
Автор: Kr_Alex
Дата сообщения: 12.01.2006 13:44
gpi
Спасибо большое!
Автор: chaugi
Дата сообщения: 12.01.2006 16:07
Вопрос.
У меня две формы.
Form1 - запускается первая. В неё происходит выбор опций.
После выбора опций запускается Form2.
1) Скажите пожалуйста, как сделать так, чтобы после закрытия Form2 автоматически закрывалась и Form1.
2) И Form2 надо запускать как Form2.Show или иначе.

Просто, у меня получилось так, что если закрывая Form2 можно вносить опять изменения в опциях Form1, то когда открывается Form2 в ней значения RadioButton сохраняется от предидущее настройки, не смотря на то, что при запуске формы я сбрасываю все параметры вручную....
Автор: Z MeZe
Дата сообщения: 12.01.2006 16:23

Цитата:
2) И Form2 надо запускать как Form2.Show или иначе.

Form2.ShowModal;


Цитата:
1) Скажите пожалуйста, как сделать так, чтобы после закрытия Form2 автоматически закрывалась и Form1.

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Close;
end;
procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
Form1.Close;
end;

Вообще-то лучше подробнее... Не совсем понятно что делаешь и что нужно получить.
Автор: chaugi
Дата сообщения: 12.01.2006 16:51
Z MeZe
Спасибо. Но вот ещё вопрос:
После этого Form1 всё ещё видна.
Это будет правильно если я сделаю так?
Form1.Hide;
Form2.ShowModal;
Спасибо.
Автор: Z MeZe
Дата сообщения: 12.01.2006 17:30

Цитата:
Это будет правильно если я сделаю так?
Form1.Hide;

Ну она (форм1), же прячется - значит разумно.

Автор: YFred
Дата сообщения: 13.01.2006 10:24
Кто знает почему в Delphi 7 не работает автоматическое изменение номера сборки проекта (build). Как исправить?
Автор: PowerChute
Дата сообщения: 13.01.2006 10:39
YFred
У меня Delphi 7 (Build 8.1). Все нормально работает.
Автор: YFred
Дата сообщения: 13.01.2006 10:47
PowerChute
А у меня тоже на Delphi 7 (Build 8.1) не работает. Может что не так делаю? Где какие галочки надо ставить?

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Вероятность одинакового CRC32


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.