Вопрос № 79760: Здравствуйте!
У меня такая проблема, я записываю элементы ListView в переменную:
var L: TListItems;
L := ListView.Items; //Записываем элементы в переменную
ListView.Clear; //Очищаем список
ListView.Items := L; //восстано...Вопрос № 79761: Здравствуйте.
Необходимо распечатать таблицу. В таблице текст. Компонент и способ не столь важны, нужно распечатать с наименьшим участием пользователя....Вопрос № 79762: Доброго дня уважаемые експерты. Мне надо после исполнения запроса выбраные даные експортировать в DBF файл. Запрос я запускаю через ADOQuery на базе, которая находиться на MSSQL Server. Через DataSource я записываю результат в DBGrid. Когда я потом п...Вопрос № 79848:
Здравствуйте, уважаемые эксперты!
Есть проект, в котором несколько активных окон. Как сделать, чтобы они пристыковывались друг к другу (ну прямо-таки "примагничивались") и к панели задач?...Вопрос № 79893: Помогите пожалуйста. Уменя на форме Image1, Image2 и Image3 (чорнобелый bmp). Как сделать попиксельное спавнение чтобы определить, кто больше похож на Image1, Image2 или Image3?...Вопрос № 79895: Народ, привет! Есть проблема с использование
компонента idHTTP. Дело в том, что он никак не хочет работать через прокси. Все настройки в ProxyParams и Request забивались и не раз, настройки верные. Также пробывал обрабатывать событие ProxyAuthorizati...Вопрос № 79902: Добрый день!
Возникла небольшая проблема с программой.
Из прграммы перенашу данные в Exsel. Использую библиотеку OLE. Все работало хорошо, на разных машинах. Проблема возникла когда запустил на машине с установленным Office 2003. Выдает ошибк...Вопрос № 79910: Эксперты, помогите выйти из тупика. В Edit (или в любой другой компонент пригодный для ввода текста) необходимо вводить символы в UNICode например символ с кодом 1203(dec) 04b3(hex).
На событии OnKeyDown пишу:
if (Key = 219) and (ssCtrl in Sh...
Вопрос № 79.760
Здравствуйте!
У меня такая проблема, я записываю элементы ListView в переменную:
var L: TListItems;
L := ListView.Items; //Записываем элементы в переменную
ListView.Clear; //Очищаем список
ListView.Items := L; //восстановливаем список из переменной
Но, дело в том, что когда очищаешь список, то и переменная тоже стирается (точнее, то что она хранит) и в итоге список не восстанавливается.
Как записать элементы списка в переменную, чтобы с ней ничего не случилось и даные при очистке не удалялись?
Отправлен: 26.03.2007, 10:07
Вопрос задал: Red Spirit (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Pavel Maltsev
Здравствуйте, Red Spirit!
В Вашем случае L - это лишь указатель на список элементов.
Нужно вместа кода
ListView.Item := L;
написать что-то вроде:
L := TListItems.Create(nil);
L.Assign(ListView);
Функция Assign как раз нужна для подобных случаев, когда нужно сохранить не адрес экземпляра, а данные.
Ответ отправил: Pavel Maltsev (статус: 3-ий класс)
Ответ отправлен: 26.03.2007, 11:31 Оценка за ответ: 5 Комментарий оценки: Спасибо, теперь все понятно!
Отвечает: Gh0stik
Здравствуйте, Red Spirit!
Предлагаю Вам хранить содержимое списка в потоке. После очищения объекта загружать список из файла.
Процедура которая создает файл с содержимым ListView1: procedure TForm1.Button1Click(Sender: TObject);
var f:tfilestream;
begin
if FileExists('c: emplistv.ttt') then
begin
f:=TFileStream.Create('c: emplistv.ttt',fmOpenWrite);
f.WriteComponent(ListView1);
f.Free;
end
else
begin
f:=TFileStream.Create('c: emplistv.ttt',fmCreate);
f.WriteComponent(ListView1);
f.Free;
end;
ListView1.Items.Clear;
end;
Загружаем данные обратно в ListView1: procedure TForm1.Button2Click(Sender: TObject);
var f:tfilestream;
begin
if FileExists('c: emplistv.ttt') then
begin
f:=TFileStream.Create('c: emplistv.ttt',fmOpenRead);
ListView1.Clear;
f.ReadComponent(ListView1);
f.Free;
end;
end;
Конечно же не трудно это все объеденить в одну процедуру.
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 26.03.2007, 12:27 Оценка за ответ: 5 Комментарий оценки: Очень хороший пример, мне как раз надо было потом записывать все в файл! )
Вопрос № 79.761
Здравствуйте.
Необходимо распечатать таблицу. В таблице текст. Компонент и способ не столь важны, нужно распечатать с наименьшим участием пользователя.
Отправлен: 26.03.2007, 10:20
Вопрос задал: IKS (статус: 4-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: sir henry
Здравствуйте, IKS!
Если речь идет о печати форматированного в таблицу текста на принтер, то я обычно использую HTML для этих целей. Выглядит это примерно так:
См. приложение.
В последней строчке сформированный файл открывается, мы на него любуемся и если все правильно, то жмем кнопку "Печать" на панели инструментов браузера.
Приложение:
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 26.03.2007, 12:09 Оценка за ответ: 5 Комментарий оценки: Спасибо! Отличный способ
Вопрос № 79.762
Доброго дня уважаемые експерты. Мне надо после исполнения запроса выбраные даные експортировать в DBF файл. Запрос я запускаю через ADOQuery на базе, которая находиться на MSSQL Server. Через DataSource я записываю результат в DBGrid. Когда я потом пробую с помощью компонента TDBF експортировать в DBF то кодировка текстовых полей - Win. А мне нужно DOS. Жду ответа. С уважением Ю.Фадеев.
Отвечает: Pavel Maltsev
Здравствуйте, Fadeev Yurij!
А Ваша функция strtooem не работает? Прикладываю функцию перевода из кодировки WIN в кодировку DOS.
Если и это не поможет, то нужно взглянуть на заголовок DBF файла. 30-й символ от начала файла должен иметь код - 0x26(38) - который означает что кодировка DOS.
Приложение:
Ответ отправил: Pavel Maltsev (статус: 3-ий класс)
Ответ отправлен: 26.03.2007, 11:25 Оценка за ответ: 3
Отвечает: Маренич Владимир
Здравствуйте, Fadeev Yurij!
В TDBF есть событие OnTranslate(Dbf: TDbf; Src, Dest: PAnsiChar; ToOem: Boolean);
В обработчике этого события напишите:
begin
CharToOem(Src, Dest);
Result:=0;
end;
Ответ отправил: Маренич Владимир (статус: Студент)
Ответ отправлен: 26.03.2007, 12:28 Оценка за ответ: 5 Комментарий оценки: Большое спасибо, сразу заработало.
Вопрос № 79.848
Здравствуйте, уважаемые эксперты!
Есть проект, в котором несколько активных окон. Как сделать, чтобы они пристыковывались друг к другу (ну прямо-таки "примагничивались") и к панели задач?
Отправлен: 26.03.2007, 20:48
Вопрос задал: Win2k (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Win2k!
Поискал все-таки по "прилипание окон Delphi". Выдал кучу сайтов с одной и той же статьей. Похоже, все-таки придется вам использовать WinAPI и обработку сообщений как в си =)
--------- Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Специалист)
Ответ отправлен: 27.03.2007, 12:25 Оценка за ответ: 5 Комментарий оценки: Да, примерчик по той ссылочке неплохой, окна прилипают к краям экрана. Но как сделать, чтобы они прилипали друг к другу? Дело в том, что это всего лишь ма-а-аленький атрибут к моему проекту, поэтому переделывать проект под С++ бессмыленно. Но все же спасибо за пояснения и отличия синтаксиса Delphi и C++, ведь когда-нибудь придется учить C++ :)
Отвечает: василий1
Здравствуйте, Win2k!
по вашей теме поможет поиск с ключевыми словами "липкие окна"
В JEDI VCL есть соответствующий компонент.
object Form1: TForm1
...
object JvFormMagnet1: TJvFormMagnet
Active = True
MainFormMagnet = True
Left = 79
Top = 161
end
end
object Form2: TForm2
..
object JvFormMagnet1: TJvFormMagnet
Active = True
FormGlue = False
MainFormMagnet = True
Left = 164
Top = 133
end
end
на той форме, которая должна открепляться, нужно установить у TJvFormMagnet
FormGlue := False.
ниже сам компонент
http://forum.sources.ru/index.php?act=Attach&type=post&id=1072456
Ответ отправил: василий1 (статус: 1-ый класс)
Ответ отправлен: 27.03.2007, 12:36 Оценка за ответ: 3 Комментарий оценки: Короче, ссылка нерабочая, юнит не компилируется, ничего не работает.
Вопрос № 79.893
Помогите пожалуйста. Уменя на форме Image1, Image2 и Image3 (чорнобелый bmp). Как сделать попиксельное спавнение чтобы определить, кто больше похож на Image1, Image2 или Image3?
Отвечает: Кулаков Антон Сергеевич /SandroNec
Здравствуйте, Костенко Игорь Викторович!
В приложении код. В нем есть три image`а (image1, image2, image3), 2 progressbar`а (prog1, prog2) и кнопка. Все картинки одинакового размера (в моем случае 64 на 64, можете заменить на другой), при нажатии на кнопку происходит попиксельное сравнение image1 с остальными. имеются две переменные pok1 и pok2 в которые записывается насколько идентичны картинки. после каждого сравнения результат выводится на progressbar`ы.
Удачи в нашем нелегком деле.
Приложение:
--------- Настоящий программист на вопрос - "можешь ли ты это сделать", всегда ответит - "да", а потом подумает как
Ответ отправил: Кулаков Антон Сергеевич /SandroNec (статус: 4-ый класс)
Ответ отправлен: 27.03.2007, 05:59 Оценка за ответ: 5 Комментарий оценки: Большое спасибо. Все отлично работает и главное просто.
Вопрос № 79.895
Народ, привет! Есть проблема с использование компонента idHTTP. Дело в том, что он никак не хочет работать через прокси. Все настройки в ProxyParams и Request забивались и не раз, настройки верные. Также пробывал обрабатывать событие ProxyAuthorization. Чего делать то? Или может с другим чем-нибудь пробывать?
Кстати, я так понял что все функции и процедуры idHTTP (типа Get,Post,DoRequest) возвращают ответ запрошенного URL. а можно ли просто послать запрос и не получать этот ответ, все таки трафик же...
Отправлен: 27.03.2007, 04:20
Вопрос задал: Baduin (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Sosedov
Здравствуйте, Baduin!
Вы не прислали кусочек неработающего кода... ну да ладно, в приложении смотрите пример написанного мною консольного приложения, использующего idhttp с прокси (IP и порт вымышленные). В Delphi 7 работает.
Не понял про экономию траффика. Вы хотите Get без ответа? По-моему, так не бывает. Если не трудно, задайте новый вопрос и подробнее опишите Ваши желания!
Удачи!
Приложение:
Ответ отправил: Sosedov (статус: 1-ый класс)
Ответ отправлен: 27.03.2007, 08:19
Вопрос № 79.902
Добрый день!
Возникла небольшая проблема с программой.
Из прграммы перенашу данные в Exsel. Использую библиотеку OLE. Все работало хорошо, на разных машинах. Проблема возникла когда запустил на машине с установленным Office 2003. Выдает ошибку что невозможно открыть.
Подскажите с чем это связанно и как это можно испраивть.
Заранее всем спасибо.
Отправлен: 27.03.2007, 07:41
Вопрос задал: AllexZ (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Dragon
Здравствуйте, AllexZ!
В приложении готовый модуль, работает на Office 2003. В программе можно открыть любой dbf файл и экспортировать в Excel. В листинге есть некоторые комментарии. Процесс обработки информации отображается в ProgressBar-е.
Удачи!
Приложение:
Ответ отправил: Dragon (статус: 1-ый класс)
Ответ отправлен: 27.03.2007, 08:22 Оценка за ответ: 5 Комментарий оценки: Большое спасибо за пример программы. Разбиремся в чем отличея, исправлю в своей программе.
Вопрос № 79.910
Эксперты, помогите выйти из тупика. В Edit (или в любой другой компонент пригодный для ввода текста) необходимо вводить символы в UNICode например символ с кодом 1203(dec) 04b3(hex).
На событии OnKeyDown пишу:
if (Key = 219) and (ssCtrl in Shift)
then SendMessage(edtName.Handle, WM_CHAR, 1203, 0);
т.е. по нажатию Ctrl+х должен выводиться символ с кодом 1203 - чего однако не происходит.
Подскажите как быть !
Отправлен: 27.03.2007, 08:49
Вопрос задал: Sniffer (статус: Студент)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: _Alex_
Здравствуйте, Sniffer!
Код работает на ура!!!
Проверте раскладку клавиатуры, х нужно русскую нажимать :)
X английская и Х русская с точки зрения Win разные буквы.
--------- Век живи - век учись
Ответ отправил: _Alex_ (статус: 1-ый класс)
Ответ отправлен: 27.03.2007, 10:05 Оценка за ответ: 3 Комментарий оценки: Ну и что же там нормально работает ? Выводиться совсем не тот символ который нужен. По идее должен вывести х с нижним хвостиком.... А выводит i...