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

X-Program ПО, новости сайта и программирование в Delphi7Супер новости


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

Рассылка по Delphi. Выпуск 45.
Зайдите на наш сайт.
KORAL ::: Free Soft ::: http://www.klsoft.narod.ru
Новости рассылки и сайта
29 марта 2005 г.
УРА, УРА и ещё раз УРА!
Уважаемые подписчики, наступил тот долгожданный час!
Мы переименоваля свою компанию и сделали новый сайт!!!
Теперь наша компания называется KorAl(Коржов Алексей), а сайт расположен по адресу http://klsoft.narod.ru. "Двери" открыты всем! На сайте есть наши программа, в том числе и новая PASS - Генератор, архив рассылки, компоненты для Delphi7, исходники интересных программ, навороченый форум по Delphi, гостевая книга. Да, чуть не забыл, у нас появился WAP портал. Зайти на него можно по адресу http://www.klsoft.narod.ru/wap/mobile.wml . Там вас ожидает большое количество картинок(цветных), мелодий и игр!!! И ВСЁ ЭТО СОВЕРШЕННО БЕСПЛАНО!!! Скоро начнётся реконструкция рассылки!
Наш логотип
Сегодня в рассылке
Вопросы подписчиков
MP3
Сеть
3D
WinAPI
Задать вопрос Предложения и пожелания Заказать статью

Вопросы подписчиков
(Письмо нашего подписчика)
Здравствуйте, x-program.

Спасибо, что ответили на мой вопрос
Как обработать ошибку подключения компонента idTelnet????

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


9)Ответить
Здравствуйте, x-program.
Здравствуйте уважаемые эксперты.
Может у Вас есть описание INDY компонента idIRC или исходник IRC клиента с использованием этого компонента?


8)Ответить
Здравствуйте, x-program.

Вопрос в следующем: Занимался ли кто программированием захвата видео с
нч входа тв-тюнера или видеокарты с "театром", и как это реализовать лучшим образом?



X)
Ответов нет

Получение MP3 тегов.
type
TMP3Tag = record
FileName, Title, Artist, Album, Year, Comment : string;
end;


function GetMP3Tag(fn: string): TMP3Tag;
var
tag : array[0..127] of char;
f : file;
i : byte;
s : string;

procedure DelSpace(var s: string);
begin // Удаляет пробелы и символы
// #0 в конце строки.
if length(s) = 0 then exit;
while s[length(s)] in [' ', #0] do
begin
delete(s,length(s),1);
if s = '' then break;
end;
end;

begin
result.FileName := fn;
result.Title := '';
result.Artist := '';
result.Album := '';
result.Year := '';
result.Comment := '';

AssignFile(F,fn); // Открываем файл
{$I-} // с проверкой его существования :)
Reset(F,1);
Seek(F,FileSize(F)-128); // Читаем тэг - последние 128 байт
BlockRead(f,tag,128);
CloseFile(F);
{$I+}

if IOResult<>0 then
begin
exit;
end;

s := '';
for i := 0 to 127 do
s := s + tag[i];

if copy(s,1,3)='TAG' then // В файле есть тэг - разбираем его
begin
result.Title := copy(s,4,30);
DelSpace(result.title);
result.Artist := copy(s,34,30);
DelSpace(result.artist);
result.Album := copy(s,64,30);
DelSpace(result.album);
result.Year := copy(s,94,4);
DelSpace(result.year);
result.Comment := copy(s,98,30);
DelSpace(result.comment);
end;
end;


Пример использования:
var
Tag : TMP3Tag;

...
if OpenDialog1.Execute then
Tag := GetMP3Tag(OpenDialog1.FileName);
...

Получение файла из сети
Обычно при разработке приложений, которые планируется в дальнейшем обновлять и усовершенствовать, основные модули хранятся в виде пакетов (Package) или библиотек DLL. В настоящее время Internet предоставляет возможность без особых усилий осуществлять обновление этих модулей. Поэтому добавление к Вашему приложению функции авто-обновления, является наилучшим способом для обновления приложения.

Давайте посмотрим, как реализовывается данный механизм в любом FTP приложении.

Delphi предоставляет нам полный доступ к WinInet API (wininet.pas), который можно использовать для соединения и получения файлов с веб-сайта, который использует либо Hypertext Transfer Protocol (HTTP) либо File Transfer Protocol (FTP). Например, мы можем использовать функции из WinInet API для: добавления FTP браузера в любое приложение, создания приложения, которое автоматически скачивает файлы с общедоступных FTP серверов или поиска Internet сайтов, ссылающихся на графику и скачивать только графику.

Функция GetInetFile:

uses Wininet;

function GetInetFile
(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
Result:=False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
hURL := InternetOpenURL(hSession, PChar(fileURL), nil,0,0,0);
try
AssignFile(f, FileName);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen)
until BufferLen = 0;
CloseFile(f);
Result:=True;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;

Обратите внимание: Чтобы обеспечить некоторую визуальную обратную связь для пользователя, Вы можете добавить строчку наподобие FlashWindow(Application.Handle,True) в тело блока "повторить/до тех пор" (repeat/until). Вызов FlashWindow API высвечивает заголовок Вашего имени приложений в панели задач.

Использование:
Для вызова функции GetInetFile можно использовать следующий код:

var FileOnNet, LocalFileName: string
begin
FileOnNet := 'http://delphi.about.com/library/forminbpl.zip';
LocalFileName := 'File Downloaded From the Net.zip'
if GetInetFile(FileOnNet,LocalFileName) = true then ShowMessage('Download successful')
else ShowMessage('Error in file download')
end;

Данный код запрашивает файл 'forminbpl.zip' с сайта, скачивает его, и сохраняет его как 'File Downloaded From the Net.zip'.

Обратите внимание: В зависимости от версии Delphi, Вы можете использовать различные компоненты, которые можно найти на Интернет страницах, посвещённых VCL и, которые можно использовать для упрощения создания приложений (например FTP компонент, необходимый для TNMFTP, находящийся на странице FastNet VCL).

3D текст
Called like so :
imgPaintCanvas(Image3.Canvas, '0', 10, 6, 4);

procedure TForm1.imgPaintCanvas(TheCanvas : TCanvas; TheString : String; TheFontSize, UCorner, LCorner : Integer);
Begin
TheCanvas.Brush.Style := bsClear;
TheCanvas.Font.Style := [fsBold];
TheCanvas.Font.Name := 'MS Sans Serif';
TheCanvas.Font.Size := TheFontSize;
TheCanvas.Font.Color := clBlack;
TheCanvas.TextOut(UCorner, LCorner, TheString);
TheCanvas.Font.Color := clGray;
TheCanvas.TextOut(UCorner - 1, LCorner - 1, TheString);
TheCanvas.Font.Color := clSilver;
TheCanvas.TextOut(UCorner - 2, LCorner - 2, TheString);
TheCanvas.Font.Color := clBlack;
TheCanvas.TextOut(UCorner - 3, LCorner - 3, TheString);
End;

Функции Win32 API [ K ]
Функция KillTimer

Описание:
function KillTimer(Wnd: HWnd, IDEvent: Integer): Bool;

Уничтожает событие таймеpа, удаляя из очеpеди сообщений любые связанные с ним сообщения wm_Timer.

Паpаметpы:
Wnd: Идентификатоp окна.
IDEvent: Идентификатоp события таймеpа.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 - если невеpный IDEvent.

См. также: SetTimer


функция находится в файле user32.dll
Так же подпишитесь на следущую рассылку
Программирование на Delphi.
Всё о Delphi


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.program
Отписаться

В избранное