Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 670
от 05.12.2006, 01:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 409, Экспертов: 62
В номере:Вопросов: 8, Ответов: 14


Вопрос № 64681: Привет. Скажите пожалоста как з приложения delpfi можно редактировать реестр (например записать строку для автозапуска програми). Спасибо....
Вопрос № 64708: Уважаемые эксперты! Помогите разобраться с компонентами библиотеки Indy. В основном меня интересуют Сервера и клиенты для почтовых, FTP, http портоколов. Буду благодарен за любые данные. Справочники, ссылки в интернети....
Вопрос № 64720: Здраствуйте господа эксперты. Возник вопрос. Можно или нет создать запись програмно, а не в среде программирования, если да то как это сделать. с ув. Костя....
Вопрос № 64770: Здравствуйте. Подскажите пожайлуста где найти документацию по компонентам Indy, т.к. в справочной документации к Delphi о них очень скудно написано. Зарание спасибо...
Вопрос № 64772: IWGrid в IntraWeb. Подскажите, плз, почему при обновлении IWGrid (по какой-либо кнопке -- что конечно непринципиально) в папке Cache модуля IWProject накапливаются HTML*.tmp. Казалось бы, что при корректно написанной программе *.tmp должны удалит...
Вопрос № 64823: Прошу помощи в изучении Паскаля и среды программирования Делфи... Признаюсь сразу, учусь на курсах МИФИ, но информации находящейся в учебных пособиях чрезвычайно мало (впрочем как и моей сообразительности :) ) прибегать к различного рода списывания (...
Вопрос № 64826: Здравствуйте уважаемые эксперты! Подскажите пожалуйста как можно добавить данные в DBGrid из существующего Excel файла. При этом соответственно данные должны сохраниться в базе данных. Число столбцов в таблице БД и Excel файла совпадают.<...
Вопрос № 64839: Здраствуйте! Проблема такая хочу написать сетевую игрушку, но с сетевыми компонентами не в ладах. Посоветуйте, пожалуйста, какие компонеты лучше использовать!...

Вопрос № 64.681
Привет. Скажите пожалоста как з приложения delpfi можно редактировать реестр (например записать строку для автозапуска програми). Спасибо.
Отправлен: 29.11.2006, 01:00
Вопрос задал: Мельник Виктор (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Мельник Виктор!

Например так:

uses registry;

....
var
reg1: TRegistry;
begin
reg1 := TRegistry.Create;
with reg1 do
begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey('SoftwareMicrosoftWindowsCurrentVersionRun', true);
WriteString('NameApp', 'C: empProgramma.exe');
CloseKey;
Free;
end;
end;
Удачи!
---------
Ответы на все вопросы - на сайте www.ya.ru
Ответ отправил: Устинов Сергей Евгеньевич (статус: Практикант)
Ответ отправлен: 29.11.2006, 01:38


Вопрос № 64.708
Уважаемые эксперты! Помогите разобраться с компонентами библиотеки Indy. В основном меня интересуют Сервера и клиенты для почтовых, FTP, http портоколов.
Буду благодарен за любые данные. Справочники, ссылки в интернети.
Отправлен: 29.11.2006, 08:59
Вопрос задал: monah (статус: Студент)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: KiberZero
Здравствуйте, monah!
Зайдите на главный интернет сайт http://www.Indyproject.org/ или http://www.atozedsoftware.com/. Я когда-то скачал книгу "ndy in Depth
Глубины Indy" не помню,где.Если хотите, могу переслать(950кб).Удачи!
Ответ отправил: KiberZero (статус: 2-ой класс)
Ответ отправлен: 29.11.2006, 10:27

Отвечает: Mammoth
Здравствуйте, monah!
примеры использования: [DelphiDir]/Demos/Indy/
Вот подборка вопросов с королевства http://www.delphikingdom.com/asp/itemq.asp?mode=0&ItemID=437
Демо примеры http://delphi.pnz.ru/components.php (в конце страницы)
Обучение: работа с Indy в Delphi http://www.welikeit.ru/delphi-indy/?razdel=1&object=2
стоит посмотреть здесь http://podgoretsky.com/ddp.html

так же можно посмотреть "базы знаний" общего назначения на
http://www.drkb.ru/
http://www.delphiworld.narod.ru/

думаю на первое время хватит
Ответ отправил: Mammoth (статус: 1-ый класс)
Ответ отправлен: 29.11.2006, 13:17
Оценка за ответ: 4
Комментарий оценки:
Спасибо.
http://www.delphiworld.narod.ru/ не помогает.


Вопрос № 64.720
Здраствуйте господа эксперты.
Возник вопрос.
Можно или нет создать запись програмно, а не в среде программирования, если да то как это сделать.
с ув. Костя.

Приложение:

Отправлен: 29.11.2006, 11:13
Вопрос задал: Костя Симанович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Костя Симанович!
Да, без этого нетривиально догадаться =)
Создать запись статического типа возможно, но не какими-дь простыми средствами — придется реализовывать некоторую часть функциональности компилятора.
Можно использовать динамические объекты типа списков, но, опять же, некоторые вещи придется дописывать самому. Например, объявить файл вашего нового типа будет нельзя. Если вы захотите сохранять эти записи в файл и читать из него, придется самому делать чтение всех отдельных полей.
Даже самые простые динамические объекты, строки (если формат файла не текстовый) просто так не запишешь.
Если уточните, чего вы хотите этим добиться, могу сказать более конкретно, какие могут быть проблемы и посоветовать, как лучше реализовать.
---------
Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Практикант)
Ответ отправлен: 29.11.2006, 11:50
Оценка за ответ: 5
Комментарий оценки:
Понятно будем думать.


Вопрос № 64.770
Здравствуйте. Подскажите пожайлуста где найти документацию по компонентам Indy, т.к. в справочной документации к Delphi о них очень скудно написано.
Зарание спасибо
Отправлен: 29.11.2006, 15:55
Вопрос задал: Олег Юра (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gh0stik
Здравствуйте, Олег Юра!

Рекомендую Вам почитать такую книгу Indy in Depth (Глубины Indy) - не переживайте она на русском языке....

Скачать Вы ее можете по адресу: http://delphiplus.org/downloads/doc/delphi/indy_in_depth_pdf.zip

Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Практикант)
Ответ отправлен: 29.11.2006, 16:06
Оценка за ответ: 5
Комментарий оценки:
Спасибо огромное, как раз то что нужно.

Отвечает: KiberZero
Здравствуйте, Олег Юра!
Зайдите сюда http://www.Indyproject.org/,http://www.atozedsoftware.com/.У меня есть книга "Indy in Depth Глубины Indy"(ценная книга),не помню, где скачал,могу переслать.
Ответ отправил: KiberZero (статус: 2-ой класс)
Ответ отправлен: 29.11.2006, 17:31
Оценка за ответ: 5


Вопрос № 64.772
IWGrid в IntraWeb.
Подскажите, плз, почему при обновлении IWGrid (по какой-либо кнопке -- что конечно непринципиально) в папке Cache модуля IWProject накапливаются HTML*.tmp. Казалось бы, что при корректно написанной программе *.tmp должны удалиться. В чём я некорректен?
Отправлен: 29.11.2006, 16:00
Вопрос задал: Гутштадт В В (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PaVeL_Ekt
Здравствуйте, Гутштадт В В!

Попробуйте после завершения работы удалять программно все файлы:
вот пример поиска и удаления файлов:

procedure TForm1.Button1Click(Sender: TObject);
var sr: TSearchRec;
begin
if FindFirst(extractfiledir(application.ExeName)+'HTML*.tmp', FAAnyFile, sr) = 0 then
begin
repeat
deletefile(extractfiledir(application.ExeName)+''+sr.Name);
until FindNext(sr) <> 0;
FindClose(sr);
end;
end;
---------
Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 6-ой класс)
Ответ отправлен: 30.11.2006, 07:18
Оценка за ответ: 4
Комментарий оценки:
Спасибо за идею. Но:
1. imho этот DeleteFile следует делать в ServerController
2. и делать по завершению работы не сессии, а Application Server'а. Но это уже хирургические методы.
Придется стать "хирургом".


Вопрос № 64.823
Прошу помощи в изучении Паскаля и среды программирования Делфи... Признаюсь сразу, учусь на курсах МИФИ, но информации находящейся в учебных пособиях чрезвычайно мало (впрочем как и моей сообразительности :) ) прибегать к различного рода списывания (покупка готовых ответов) категорически не приемлю... считаю, что должен приложить максимум усилий к изучению этой дисциплины.... Однако как уже заметил, НЕТ информации!!! Ну, перейду к делу.

1. Какая функция приводит все строчные и прописные буквы латинского алфавита к одному формату?
2. Ну ни как, хоть убейте, не могу понять как проверить символы строки на совпадение с проверяемым символом и при совпадении удалять повторяющийся символ.
3. Какий условный оператор используется для определения четности целого числа и как им пользоваться?
4. Какая стандартная функция позволяет получить из произвольного целого числа А, случайное число не превышающее значение А, и процедуру, которая инициализирует выполнение этой функции?
Отправлен: 29.11.2006, 21:30
Вопрос задал: Волков А.А. (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: KiberZero
Здравствуйте, Волков А.А.!

1.Для того, чтобы перевести к одному формату строчные и прописные буквы латинского алфавита используется LowerCase(s:string)(приводит к нижнему регистру), UpperCase(s:string)(приводит к верхнему регистру).

2. if<условие>then
begin
Delete(s,I+1,1);
к:=к-1;
end
else <условие>

3.Воспользуйтесь операторами сравнения (and) или (or)
Удачи!

Ответ отправил: KiberZero (статус: 2-ой класс)
Ответ отправлен: 29.11.2006, 22:45
Оценка за ответ: 5

Отвечает: Писарев, Павел, Юрьевич
Здравствуйте, Волков А.А.!
Отвечаю на твои вопросы:
1. Function AnsiLowerCase (const S: String): String – Возвращает исходную строку S, в которой все прописные буквы заменены строчными в соответствии с национальной кодировкой Windows (то есть с учётом кириллицы).
Function AnsiUpperCase (const S: String): String - Возвращает исходную строку S, в которой все строчные буквы заменены прописными в соответствии с национальной кодировкой Windows (то есть с учётом кириллицы).
2. var
s: String;
n,m: Byte;
begin
for n := 1 to Length(s) do
for m := 1 to Length(s) do
if s[n] = s[m] then
Delete(s,n,1);
end;
3. Для определения чётности числа в Delhpi и Pascal существует функция Odd(n) {n – число}, которая возвращает TRUE, если число не чётное.
4. var
d,f: Integer;
begin
Randomize;
Write(‘Введите число D’);
ReadLn(f);
f := Random(d);
WriteLn(‘Случайное число в пределе от 0 до ’, d,’ равно ‘, f);
ReadLn;
end.
Ответ отправил: Писарев, Павел, Юрьевич (статус: 2-ой класс)
Ответ отправлен: 29.11.2006, 23:55
Оценка за ответ: 5


Вопрос № 64.826
Здравствуйте уважаемые эксперты!
Подскажите пожалуйста как можно добавить данные в DBGrid из существующего Excel файла.
При этом соответственно данные должны сохраниться в базе данных.
Число столбцов в таблице БД и Excel файла совпадают.
Использую IBTable, DataSource, IBStoredProc и DBGrid.
Может есть готовая функция или процедура?
Отправлен: 29.11.2006, 21:37
Вопрос задал: Жуков Сергей (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Синельников Сергей
Здравствуйте, Жуков Сергей!

Может не самый удачный способ, но очень простой:
Берем ADODataSet, в ConnectionString пишем :
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ПолныйПутьИИмяФайла.xls;Extended Properties=Excel 8.0;Persist Security Info=False

Далее в CommandText пишем : select * from [Sheet1$], где Sheet1$ имя листа книги Excel обязательно в квадратных скобках.
Далее открываем набор данных и переносим в таблицу Interbase.

Ответ отправил: Синельников Сергей (статус: 1-ый класс)
Ответ отправлен: 30.11.2006, 06:56

Отвечает: PaVeL_Ekt
Здравствуйте, Жуков Сергей!

еще можно воспользоваться компонентом
TExcelApplication со вкладки SERVERS

var s:string;
begin
ExcelApplication1.Visible[lcid(0)]:=false; // запускает ексель в невидемом режиме
ExcelApplication1.Workbooks.Add(FileName,lcid(0)); // добавляем файл екселья
s:=ExcelApplication1.Range['A1',emptyparam].Value; // в переменную s заносим данные ячейки A1;
end;
добавление записи в бд:
ibtable1.AppendRecord(['Rec1','Rec2','Rec3']);
или
ibtable1.InsertRecord(['Rec1','Rec2','Rec3']); // указываем только значения для всех полей по порядку, как они идут в БД.

то есть примерно такой код получиться

Приложение:

---------
Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL

Ответ отправил: PaVeL_Ekt (статус: 6-ой класс)
Ответ отправлен: 30.11.2006, 07:44
Оценка за ответ: 4
Комментарий оценки:
Почему-то не получилось компилятор ругается на квадратные скобки в конце Range[]... а у вас работало то что вы советуете?
Ладно спасибо за то что попытались помочь, постараюсь сам разобраться.


Вопрос № 64.839
Здраствуйте! Проблема такая хочу написать сетевую игрушку, но с сетевыми компонентами не в ладах. Посоветуйте, пожалуйста, какие компонеты лучше использовать!
Отправлен: 29.11.2006, 22:54
Вопрос задал: Clr (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Кулаков Антон Сергеевич /SandroNec
Здравствуйте, Clr!

Я бы посоветовал вам воспользоваться компонентами TServerSocket и TCLientSocket с закладки Internet, в обращении они не очень сложны.
---------
Настоящий программист на вопрос - "можешь ли ты это сделать", всегда ответит - "да", а потом подумает как
Ответ отправил: Кулаков Антон Сергеевич /SandroNec (статус: 3-ий класс)
Ответ отправлен: 30.11.2006, 06:39
Оценка за ответ: 5

Отвечает: PaVeL_Ekt
Здравствуйте, Clr!

Для написания сетевой игры мне кажется Вам лучше использовать
NMMSGServ и NMMSG - это очень простые компоненты в использовании
и способны передавать Stream-ы, притом даже небольшие файловые(для закачки карт или тому подобного) прим. большие тоже качаются но очень медленно.
---------
Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 6-ой класс)
Ответ отправлен: 30.11.2006, 07:51
Оценка за ответ: 5

Отвечает: Gladiator
Здравствуйте, Clr!
Я знаю, к примеру, что игра Counter Strike работает UDP пакетами, поэтому могу посоветовать компоненты TIdUDPClient и TIdUDPServer.
Ответ отправил: Gladiator (статус: 6-ой класс)
Ответ отправлен: 30.11.2006, 09:25
Оценка за ответ: 4
Комментарий оценки:
UDP не очень надёжен( в плане контроля прихода пакетов)


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное