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

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


Информационный Канал Subscribe.Ru

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

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

Выпуск № 258
от 07.10.2005, 17:57

Администратор:Калашников О.А.
В рассылке:Подписчиков: 249, Экспертов: 47
В номере:Вопросов: 5, Ответов: 11


Вопрос № 27095: Здравствуйте! У меня такой вопрос: Есть сеть. На одном компе в настройках IE указываю прокси и порт другоко компа (сервера). Как можно сделать Делфи приложение для другого компа (сервера), которое будет идентифицировать IP клиента и выдав...
Вопрос № 27112: Привет всем экспертам! Пишу небольшую программку для обработки email-писем. Программа получает данные из email-письма, сохранённого в файл (*.msg). С чтением данных проблем нет - использование обычных строковых функций. Но есть проблема с русским...
Вопрос № 27119: Господа эксперты, посоветуйте что-нибудь по такому поводу: Хочу написать что-то похожее на winamp-овскую media library. То есть программу- каталог моих mp3- файлов. Как можно сделать так, чтобы при указании папки программа выгребала информацию из...
Вопрос № 27124: Здравствуйте эксперты. На этот раз мне нужно сделать цикл, что бы во время этого цикла из итемсов листбокса брались пути к файлам и подставлялись в параметр запуска проги, не все сразу, а по очереди. И ещё одно как сделать, что бы при перетаскива...
Вопрос № 27125: Здрасте экспеты RusFAQ!!!! Короче скажите процедуру котрой получить дату текстом :) На английском языке. Или зависящем от языка системы. Тока не надо мямлить типа глянь там глянь тут. Просто имя функции и какие параметры подставлять....

Вопрос № 27.095
Здравствуйте!
У меня такой вопрос:
Есть сеть. На одном компе в настройках IE указываю прокси и порт другоко компа (сервера).
Как можно сделать Делфи приложение для другого компа (сервера), которое будет идентифицировать IP клиента и выдавать ему в браузер HTML страничку.
Если можно, кусочек кода для наглядности.
СПАСИБО.
Отправлен: 01.10.2005, 19:17
Вопрос задал: Мурник Роман (статус: 2-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Bob Johnson
Здравствуйте, Мурник Роман!
Может быть тебе просто web-сервер надо написать? тогда не придется указывать настройки прокси, просто будешь набирать имя компьютера (сервера) в строке "адрес" IE?
web сервер обычно работает на порте 80 и отвечает на HTTP запросы. исходники небольшого web сервера есть у меня на странице (правда он на С++).
Или же можешь просто правильно апач настроить.
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 02.10.2005, 23:42


Вопрос № 27.112
Привет всем экспертам!
Пишу небольшую программку для обработки email-писем. Программа получает данные из email-письма, сохранённого в файл (*.msg). С чтением данных проблем нет - использование обычных строковых функций. Но есть проблема с русскими кодировками. К примеру, прочитан заголовок:
From: "=?koi8-r?B?4c7Uz84=?="
Понятно, что извлечь email (mailbox@mail.ru) и имя (=?koi8-r?B?4c7Uz84=?=) я могу без проблем. Но имя ведь нужно привести к нормальному виду (в данном случае - Антон). Как правило, письма бывают лишь в кодировках koi8-r и windows-1251. Подскажите, пожалуйста, как преобразовать эти комбинации символов в
русский текст? Заранее благодарен!
Отправлен: 02.10.2005, 10:44
Вопрос задал: Ерёмин Андрей (статус: Практикант)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Delphin
Здравствуйте, Ерёмин Андрей!
Читай в приложении. Там 4 алгоритма.
Если поможет не поленись поставить оценку 5 :)

Приложение:

---------
Обращаться в ICQ: 66550088 (Ally) или E-Mail: delphinster@gmail.com

Ответ отправил: Delphin (статус: Студент)
Отправлен: 02.10.2005, 11:04
Оценка за ответ: 5
Комментарий оценки:
Думаю, это мне поможет.
З.Ы. А оценки я _всегда_ ставлю. Можете даже поискать рассылки с моими вопросами - на 95% ответов ставлю. Не ставлю только тогда, когда ответ либо слишком плох, либо не знаю, что ставить. :) Получай пятёрку!

Отвечает: Warrior
Здравствуйте, Ерёмин Андрей!

Приходит программист к окулисту. Тот его усаживает напротив таблицы, берет указку:
- Читайте!
- "БНОПНЯ"... Доктор, у вас что-то не то с кодировкой!

Много вопросов решает Delphi World.

Программа Delphi World 6.0 является системой управления архивом статей.
В состав программы входят архивы с 5000 статей по самым различным разделам программирования в среде Delphi, загрузить их можно с web-сайта проекта http://delphiworld.narod.ru.

Но многое надо перепроверять. Сам постоянно роюсь в этих статьях.
По перекодировкам там есть 8 статей. Некоторые ты уже получил :)
Конечно же не на все вопросы есть ответы!!!!
Эксперты парни молодцы!
Успехов.

Ответ отправил: Warrior (статус: 1-ый класс)
Отправлен: 02.10.2005, 12:41
Оценка за ответ: 3
Комментарий оценки:
Не по теме ответ, имхо.


Вопрос № 27.119
Господа эксперты, посоветуйте что-нибудь по такому поводу:
Хочу написать что-то похожее на winamp-овскую media library. То есть программу- каталог моих mp3- файлов. Как можно сделать так, чтобы при указании папки программа выгребала информацию из тэгов и росала их в базу данных? Заранее благодарен.
Отправлен: 02.10.2005, 14:16
Вопрос задал: Prosto_Blackhowk (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Силантьев Евгений Александрович
Здравствуйте, Prosto_Blackhowk!
Фун-ия чтения ID3

type
TID3Tag = record
ID: string[3];
Titel: string[30];
Artist: string[30];
Album: string[30];
Year: string[4];
Comment: string[30];
Genre: Byte;
end;

const
Genres : array[0..146] of string =
('Blues','Classic Rock','Country','Dance','Disco','Funk','Grunge',
'Hip- Hop','Jazz','Metal','New Age','Oldies','Other','Pop','R&B',
'Rap','Reggae','Rock','Techno','Industrial','Alternative','Ska',
'Death Metal','Pranks','Soundtrack','Euro-Techno','Ambient',
'Trip-Hop','Vocal','Jazz+Funk','Fusion','Trance','Classical',
'Instrumental','Acid','House','Game','Sound Clip','Gospel','Noise',
'Alternative Rock','Bass','Punk','Space','Meditative','Instrumental Pop',
'Instrumental Rock','Ethnic','Gothic','Darkwave','Techno-Industrial','Electronic',
'Pop-Folk','Eurodance','Dream','Southern Rock','Comedy','Cult','Gangsta',
'Top 40','Christian Rap','Pop/Funk','Jungle','Native US','Cabaret','New Wave',
'Psychadelic','Rave','Showtunes','Trailer','Lo-Fi','Tribal','Acid Punk',
'Acid Jazz','Polka','Retro','Musical','Rock & Roll','Hard Rock','Folk',
'Folk-Rock','National Folk','Swing','Fast Fusion','Bebob','Latin','Revival',
'Celtic','Bluegrass','Avantgarde','Gothic Rock','Progressive Rock',
'Psychedelic Rock','Symphonic Rock','Slow Rock','Big Band','Chorus',
'Easy Listening','Acoustic','Humour','Speech','Chanson','Opera',
'Chamber Music','Sonata','Symphony','Booty Bass','Primus','Porn Groove',
'Satire','Slow Jam','Club','Tango','Samba','Folklore','Ballad',
'Power Ballad','Rhytmic Soul','Freestyle','Duet','Punk Rock','Drum Solo',
'Acapella','Euro-House','Dance Hall','Goa','Drum & Bass','Club-House',
'Hardcore','Terror','Indie','BritPop','Negerpunk','Polsk Punk','Beat',
'Christian Gangsta','Heavy Metal','Black Metal','Crossover','Contemporary C',
'Christian Rock','Merengue','Salsa','Thrash Metal','Anime','JPop','SynthPop');
var
Form1: TForm1;

implementation

{$R *.dfm}

function readID3Tag(FileName: string): TID3Tag;
var
FS: TFileStream;
Buffer: array [1..128] of Char;
begin
FS := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
FS.Seek(-128, soFromEnd);
FS.Read(Buffer, 128);
with Result do
begin
ID := Copy(Buffer, 1, 3);
Titel := Copy(Buffer, 4, 30);
Artist := Copy(Buffer, 34, 30);
Album := Copy(Buffer, 64, 30);
Year := Copy(Buffer, 94, 4);
Comment := Copy(Buffer, 98, 30);
Genre := Ord(Buffer[128]);
end;
finally
FS.Free;
end;
end;

Фун-ия поиска

procedure TfrmMain.ScanDir(Dir:string);
var
SearchRec:TSearchRec;
begin
if Dir<>'' then if Dir[length(Dir)]<>'' then Dir:=Dir+'';
if FindFirst(Dir+'*.*', faAnyFile, SearchRec)=0 then
repeat
if (SearchRec.name='.') or (SearchRec.name='..') then continue;
if (SearchRec.Attr and faDirectory)<>0 then
ScanDir(Dir+SearchRec.name)
else
if MatchesMask(Dir+SearchRec.name, '*.mp3') then readID3Tag(Dir+SearchRec.name);
until FindNext(SearchRec)<>0;
FindClose(SearchRec);
end;

---------
The world is mine! :)
Ответ отправил: Силантьев Евгений Александрович (статус: 6-ой класс)
Отправлен: 02.10.2005, 18:55
Оценка за ответ: 5


Вопрос № 27.124
Здравствуйте эксперты.
На этот раз мне нужно сделать цикл, что бы во время этого цикла из итемсов листбокса брались пути к файлам и подставлялись в параметр запуска проги, не все сразу, а по очереди. И ещё одно как сделать, что бы при перетаскивания файла в листбокс в итемсах появлялся путь к этому файлу, ну или хотя бы что бы через opendialog при выделение нескольких файлов появлялись пути ко всем файлам, а не к последнему.
з.ы. если что не так извините, я ещё учусь и спасибо за предыдущие ответы.

Приложение:

Отправлен: 02.10.2005, 17:13
Вопрос задал: Dimon007 (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Delphin
Здравствуйте, Dimon007!
Немного не понял. Подставлялись как параметры запуска или имя файла?
Наверно параметры. Поочереди? Тоесть запскать файл для каждого Item'a с параметрном?
Тогда смотри пр. №1.
Про то как получить имя перетаскиваемого файла пр. №2
Про выбор файлов пр. №3

P.S> Поставь оценку если тебе это поможет.
Я ответил на все твои вопросы. У меня щас периуд атестации на RusFAQ. Так что я буду тебе очень благодарен.

Приложение:

---------
Обращаться в ICQ: 66550088 (Ally) или E-Mail: delphinster@gmail.com

Ответ отправил: Delphin (статус: Студент)
Отправлен: 02.10.2005, 17:56
Оценка за ответ: 5

Отвечает: Ерёмин Андрей
Здравствуйте, Dimon007!
1)for i:=0 to ListBox1.Items.Count-1 do
WinExec(PChar('Converter.exe '+i+' '+ListBox1.Items[I]+' '+Edit2.Text+' '+g),sw_shownormal);

2) В приложении небольшой модуль, который выводит сообщение, если на него перетащить файлы. Для ListBox делается аналогично.

Приложение:

---------
Мышка побежала, xвостиком махнула - cервер упал...

Ответ отправил: Ерёмин Андрей (статус: Практикант)
Отправлен: 03.10.2005, 07:54

Отвечает: Romodos
Здравствуйте, Dimon007!
1)
for i:=0 to listbox1.items.count do
WINEXEC(PChar('Converter.exe '+i+' '+listbox1.items[i]+' '+Edit2.Text+' '+g),sw_show);

2)
выставляем свойство opendialog allowmultiselect в true
пишем
if opedialog1.execute then
for j:=0 to opendialog1.files.count-1 do listbox.items.add(opendialog1.files[j]);
---------
FAQ me off!
Ответ отправил: Romodos (статус: 8-ой класс)
Отправлен: 03.10.2005, 16:23


Вопрос № 27.125
Здрасте экспеты RusFAQ!!!!
Короче скажите процедуру котрой получить дату текстом :)
На английском языке. Или зависящем от языка системы.
Тока не надо мямлить типа глянь там глянь тут.
Просто имя функции и какие параметры подставлять.
Отправлен: 02.10.2005, 17:34
Вопрос задал: Delphin (статус: Студент)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: mvp
Здравствуйте, Delphin!
Пример из help'а (см. приложение).
dddd - полное имя дня недели (ddd - сокращённое);
mmmm - тоже самое для месяца.
Если вы и числа хотите текстом, то тут прийдётся самому написать небольшую функцию :)
d - число
yyyy - год

Приложение:

---------
Моя совесть чиста - не бывшая в употреблении

Ответ отправил: mvp (статус: 6-ой класс)
Отправлен: 02.10.2005, 18:02
Оценка за ответ: 5

Отвечает: sir henry
Здравствуйте, Delphin!
Ну, насчет мямлить, это скорее к Вам относится.
В следующий раз постарайтесь в вопросе излагать только его суть, а не свое отношение к будущим ответам. Тогда Вас проще будет понять. :)
DateToStr(Date: TDateTime);
DecodeDateTime(const AValue: TDateTime; out AYear, AMonth, ADay, AHour, AMinute, ASecond, AMilliSecond: Word);
Выбирете из них ту функцию, которая Вам нужна.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 02.10.2005, 18:56
Оценка за ответ: 5

Отвечает: Ерёмин Андрей
Здравствуйте, Delphin!
Можно вот так например:

var
S: string;
begin
DateTimeToString( S, 'Сегодня dddd dd mmm yyyy г.', Date);
MessageDlg( S, mtInformation, [mbOk], 0);

---------
Мышка побежала, xвостиком махнула - cервер упал...
Ответ отправил: Ерёмин Андрей (статус: Практикант)
Отправлен: 03.10.2005, 08:01
Оценка за ответ: 5

Отвечает: SlavComp
Здравствуйте, Delphin!
Если кратко то:

FormatDateTime(' dddd, 3 mmmm, yyyy ', TDateTime)

Где TDateTime - переменная такого типа.
Чтобы просто вывести текущую дату - FormatDateTime(' dddd, 3 mmmm, yyyy ',Date)
Ответ отправил: SlavComp (статус: 1-ый класс)
Отправлен: 03.10.2005, 16:33
Оценка за ответ: 5


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

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

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

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

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


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


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Rambler's Top100 Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное