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

Программирование на Delphi

  Все выпуски  

Программирование на Delphi #27


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

Программирование на DELPHI
Выпуск #27 (1 июня 2005 г.)  
Разделы сайта

Новости сайта
Система "Эксперт"
Вопросы и Ответы

Отправить вопрос
Файловый архив
Статьи
Компоненты
Plug-in's
Документация
Исходники
Изображения
Игры
Программы
Форум
Гостевая книга
F.A.Q.
Архив рассылки
Дружественные сайты
Обратная связь
Хостинг



Связь

Администратор
Система "Эксперт"
Информация

 


Доброго времени суток , уважаемые читатели!

Ну вот и свершилось долгоджанное чудо! Наш сайт переехал на платный хостинг и теперь находится по адресу:

http://www.delphi.int.ru/

Сайт очень сильно изменился: появились новые разделы, изменилась навигация и множество других изменений. Сообщу об основных новинках... На сайте появилась система регистрации: http://www.delphi.int.ru/modules/register/. Регистрация займёт у Вас всего пару минут, зато Вы получите доступ к некоторым функциям сайта, которые недоступны обычным посетителям. Одна из этих функций - проверка своего счёта. Если Вы помните, за каждый ответ и участие в конкурсе начисляются баллы, - вот о этих баллах Вы и сможете узнать. Кроме того, зарегистрировавшись, Вы сможете получать информацию о новостях и обновлених сайта прямо на свой e-mail. Использовать данные возможности Вы сможете на следующей странице: http://www.delphi.int.ru/modules/account/. Также хочу сообщить, что на сайте появился отдельный раздел "Система 'Эксперт'". Данный раздел является "зеркалом" раздела "Вопросы и ответы" в рассылке. Теперь на сайте публикуются все вопросы, "прошедшие" через рассылку, а также все ответы на них. Уже сейчас Вы можете прочитать все вопросы и ответы. В базе есть абсолютно все вопросы, начиная с №1! Система "Эксперт" находится по адресу: http://www.delphi.int.ru/modules/expert/. По многочисленным просьбам был переработан скрипт загрузки файлов с сайта. Теперь, при обращении на http://www.delphi.int.ru/download.php?id=x, где x - идентификатор (номер) файла, загрузка не будет начинаться автоматически. На "старом" сайте именно так и было, но некоторые браузеры неверно выполняли скрипт и загрузка не начиналась. Теперь, пройдя по подобной ссылке, Вы увидите страницу, где будет краткое описание файла, его тип и объём, а также ссылка непосредственно на закачку. Вот эту ссылку и следует посылать своему download-менеджеру. Поступило множество вопросов по сайту и рассылке; прочитать их и ответы на них можно на странице: http://www.delphi.int.ru/modules.php?name=faq. Изменились наши e-mail адреса. Теперь адрес администратора: admin@delphi.int.ru, система "Эксперт" принимает все вопросы, ответы и другие письма по адресу: expert@delphi.int.ru, ну а почтовый адрес info@delphi.int.ru служит для различных целей. Убедительная просьба: если в процессе "путешествия" по нашему сайту, Вы обнаружите неработающую ссылку, грамматическую ошибку или вообще какой-нибудь "дефект", пожалуйста, сообщите об этом. За это Вы получите дополнительные очки. И ещё несколько слов насчёт очков... Как-то, очень давно, сообщалось, что за очки читатели будут получать призы. Но так случилось, что прошло много времени, а воплотить это в реальность всё не удавалось. Но скоро мы начнём это делать. Спасибо всем, кто отвечает на вопросы читателей в нашей рассылке, спасибо вообще всем! В первую очередь хотелось бы, чтобы на сайте зарегистрировались те, кто отвечает на вопросы в нашей рассылке и имеет какое-то количество баллов на своём счету. Это позволит нам лучше рассмотреть вашу деятельность в рассылке. Ну что же, не вижу смысла далее Вас задерживать своим вступлением. Данный выпуск получился весьма объёмный, а новый сайт уже не терпит принять посетителей...

Рассылка

Авторское слово
Новые вопросы
Ответы на вопросы

Статья по Delphi
Файловый архив
Друзья
Юмор



Статистика

Количество читателей рассылки:

2685.



Подпишитесь...

 


Читатели, лидирующие по количеству баллов:

Место
Имя
Кол-во баллов
Место
Имя
Кол-во баллов
1
Feniks
258
6
Igor
76
2
Dron
202
7
Андрей Лучников
63
3
Iron Monk
200
8
VeroLom
63
4
Садовников Владимир
182
9
Ершов Денис
53
5
Dasha
172
10
Павел Звягинцев
50

Если Вы хотите, чтобы Вашего имени (ника) не было в данной таблице, отправьте письмо по этой ссылке с зарегистрированного у нас адреса. В теле письма, пожалуйста, укажите причину удаления имени из таблицы. Нам важно ваше мнение.


Основные правила нашей рассылки:

1. Не присылайте ответов на вопросы вроде "да я не знаю" или "да/нет". Такие ответы не публикуются.
2. Вопросы, не касающиеся Delphi, не принимаются (для этого существуют другие рассылки).
3. Запрещено присылать вложенные файлы, размером более 100 Кб, без предварительной связи с администратором.
4. Не изменяйте тем присылаемых писем. Письма с "неправильными" темами не публикуются! Используйте текстовый формат писем.


Новые вопросы.


Вопрос #127. Автор вопроса: Dicky. Вопрос отправлен: 16.05.2005 12:36. Вопрос:

Требуется создать многоуровневую БД и выложить на сервере в Инет. Что лучше использовать, если известно что к базе одновременно может обращаться от 100 чел и более? БД должна быть ориентирована на скорость, а приложение генерировать html-файл.

[Ответить на вопрос]. Ответ ожидается до 08.06.2005 12:36.


Вопрос #128. Автор вопроса: Ирина. Вопрос отправлен: 17.05.2005 10:20. Вопрос:

На одном ПК установила Delphi, работает нормально. На другом ПК - при входе в SQL Explorer и DBGrid компьютер виснет. И програмка на Delphi при запуске зависает, не загружается. В чем причина? Срочно надо.

[Ответить на вопрос]. Ответ ожидается до 24.05.2005 10:20.


Вопрос #129. Автор вопроса: Матвеев Игорь. Вопрос отправлен: 18.05.2005 08:31. Вопрос:

Я сейчас пишу программу с базой данных для одной организации, я использую BDE и конкретно Paradox. Программа работает нормально, но когда я пробовал установить ее на том компьютере, на котором она должна будет работать столкнулся с неожиданной проблемой: там стоит Win2000 и нет прав на запись файлов в корневом каталоге основного диска (C:\). Но программы, использующие BDE, создают какой-то кеш–файл PDOXUSRS.NET в этом каталоге. Где-то прочитал, что этот Кеш создает ядро BDE для ускорения каких-то действий, но мне там этот файл не нужен – требуется либо заблокировать его создание, либо указать для него другой каталог. Может кто сталкивался с такой проблемой?

[Ответить на вопрос]. Ответ ожидается до 25.05.2005 8:31.


Вопрос #130. Автор вопроса: Alex. Вопрос отправлен: 20.05.2005 22:52. Вопрос:

Подскажите, пожалуста: я сделал программу с базами данных BDE, а запускаться это приложение может только с Delphi или установленным процессором баз данных. Вопрос: где его взять (процессор)? Спасибо.

[Ответить на вопрос]. Ответ ожидается до 27.05.2005 22:52.


Вопрос #131. Автор вопроса: YaricZ. Вопрос отправлен: 21.05.2005 15:01. Вопрос:

У меня такой вопрос: я использую библиотеку KOL и MCK, но компонентов в этих библиотеках немного - только стандартные. Внимание - вопрос знатокам: возможно ли использование компонентов Delphi совместно с KOL? Если добавить обычный компонент из вкладки, к примеру, "стандартные" - программа не компилируется. И второй вопрос: если совместное использование KOL со стандартными компонентами Delphi невозможно, то где можно скачать аналог компонентов DataSource, ClientDataSet, DBGrid. DBEdit, DBMemo? На официальном сайте ничего нет. Заранее выражаю благодарность всем, кто сможет мне помочь.

[Ответить на вопрос]. Ответ ожидается до 28.05.2005 15:01.


Вопрос #132. Автор вопроса: Barbariska. Вопрос отправлен: 24.05.2005 13:11. Вопрос:

Здравствуйте! Подскажите, как, используя индексирование, можно организовать поиск данных? У меня база данных нормативных документов. Поиск нужен по слову и по фразе (в названии документа и в тексте).

[Ответить на вопрос]. Ответ ожидается до 31.05.2005 13:11.


Вопрос #133. Автор вопроса: Zhenja. Вопрос отправлен: 26.05.2005 12:13. Вопрос:

Доброго времени суток! Подскажите, пожалуйста, как в Delphi7 создать сервис с встроенным в него интерфейсом (или наоборот)? То есть, во время выполнения сервиса (состояние - работает) нужно выводить иконку в трей и по двойному клику на неё вызывалась форма, а при остановке сервиса форма была недоступна, как и иконка в трее. Что-то вроде WinRoota, MDaemon-a. У меня есть подходящий объект, но он во время работы загружает процессор на все 100%. Подскажите, как лучше поступить.

[Ответить на вопрос]. Ответ ожидается до 02.06.2005 12:13.

 


Ответы на вопросы.

124. (QuickReport). Полный текст вопроса:
Здравствуйте! У меня Delphi 7, где мне найти QuickReport?

1. [Отвечает: Валерий, 14.05.2005 12:04]: Пакет находится в "Program Files\Borland\Delphi7\Bin\dclqrt70.bpl", если вы не изменили расположение директорий при установке Делфи.

2. [Отвечает: Doctor, 14.05.2005 12:56]: Заходишь в пункт меню Component/Install Packages, нажимаешь на кнопку Add и в каталоге Delphi7/Bin выбираешь dclqrt70.bpl закладка с необходимыми компонентами появится где-то в конце. Доктор.

3. [Отвечает: hot_shot, 15.05.2005 19:02]: Component->Install Packages Кнопочка "Add". <Каталог Delphi>\Bin\dclqrt70.bpl - сам QuickReport; <Каталог Delphi>\Bin\dcltqr70.bpl - QRTee (графики строит).

4. [Отвечает: Лялин Александр Николаевич, 16.05.2005 10:02]: Компоненты QReport по-прежнему доступны разработчику — пакет DCLQRT70.BPL все так же занимает прочное место в папке \Delphi7\Bin и может быть установлен в Палитру компонентов обычным способом.

5. [Отвечает: wolfstar, 15.05.2005 14:25]: В версии Delphi 7 QuickReport заменен на компонент (приложение) Rave (страница Rave). P.S. При использовании некоторых компонентов в програме обязательно используйте оригинальные имена иначе все приложение не будет работать.

125. (Записи). Полный текст вопроса:
Что такое записной тип данных?

1. [Отвечает: Dasha, 16.05.2005 10:56]: Наверное запись. Синтаксис такой:
type
TDateRec = record
Year: Integer;
Month: (Jan, Feb, Mar, Apr, May, Jun,
Jul, Aug, Sep, Oct, Nov, Dec);
Day: 1..31;
end;
...
var Record1, Record2: TDateRec;
...
Record1.Year := 1904;
Record1.Month := Jun;
Record1.Day := 16;

2. [Отвечает: alexlazer, 21.05.2005 10:29]: Вероятно, здесь имеется в виду тип данных "Запись"?

Запись - это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. В отличие от массива, компоненты (поля) записи могут быть различного типа. Чтобы можно было сослаться на тот или иной компонент записи, поля именуются.
Структура объявления записи такова:
<имя типа> = record <список полей> end;
Список полей - последовательность разделов записи, между которыми ставится точка с запятой.
Каждый раздел записи состоит из одного или нескольких идентификаторов полей, отделяемых друг от друга запятыми. За идентификатором ставится двоеточие и описание типа поля, например:
type
MyDay = record
Day,Month: Byte;
Year: Word
end;
var
a,b: MyDay;
Как и в массиве, значения переменных типа записи можно присваивать другим переменным того же типа, например a:=b;
К каждому из компонентов записи можно получить доступ, если использовать составное имя, т.е. указать имя переменной, затем точку и имя поля:
a.day:=21;
b.year:=2005;
Остальное можно найти в литературе.

126. (Программа для тестирования). Полный текст вопроса:
Есть текстовый документ и программа с 5-тью Label. В текстовом документе содержится информация:

+ВОПРОС1
ответ1
_ответ2
ответ3
ответ4
+ВОПРОС2
ответ1
ответ2
_ответ3
ответ4

Надо, чтобы при открытии программы Label1 превращался в вопрос1, Label2 в ответ1 и т.д. до Label5, который превращается в ответ4. Т.е. программа должна выбрать из блокнота ЛЮБУЮ строку, начинающуюся на \"+\" (пометка вопроса) и предоставить варианты ответов, задав переменной PRAVILNO значение 1, 2, 3 или 4. Перед каким ответом стоит \"_\", тот номер и будет значением переменной (Это будет правильный ответ).
P.S. Label правильного ответа не должен начинаться с \"_\"! (все варианты выходят одинаково без \"_\").

1. [Отвечает: SHKoder, 14.05.2005 12:11]: Лучше бы красиво все оформить, например не в текстовичек, а хотябы DBF, но если в нотепаде проще то тогда лучше бы иметь такую структуру:

?1вопрос
#1ответ1
#1ответ2
#1ответ3
#1ответ4
?2вопрос
#2ответ1
#2ответ2
#2ответ3
#2ответ4
...
?Nвопрос
#Nответ1
#Nответ2
#Nответ3
#Nответ4

И чуть ниже иметь массив:
1 2
2 4

N 1
Где на первый вопрос второй вариант правильный, на второй вопрос - четвертый и т.д... потому как текстовичок можно открыть и прочитать, не надо недооценивать уровень знаний пользователя отвечающего на тест... тем более массив правильных ответов было бы не плохо сделать редактируемым а не прошитым в программе, потому как все мы люди... еще из пожеланий было бы хорошо использовать RND перед выводом ответов на экран, люди умеют разговаривать, и часто задаваемые вопросы будут вроде как: "А на второй вопрос ты как ответил? "а" или "б"" подумайте и об этом... и еще в довесок... вспомните про криптографию... успехов... а для того чтобы избавиться от лишних символов есть функция:

function Pos(Substr: string; S: string): Integer;
var S: string;
begin
S := ' 123.5';
{ Convert spaces to zeros }
while Pos(' ', S) > 0 do
S[Pos(' ', S)] := '0';
end;

2. [Отвечает: Садовников Владимир, 14.05.2005 18:27]: Воспользуйся классом TStringList. У него есть метод LoadFromFile. Можешь создать массив [0..5] из TLabel, куда запихнуть ссылки на твои лейблы (чтобы потом проблем не было). А дальше всё просто - сканируешь твой StringList как массив.

//Описание класса формы
Lbls:array[0..4] of TLabel;

//Событие OnCreate
Lbls[0]:=Label1;
Lbls[1]:=Label2;
Lbls[2]:=Label3;
Lbls[3]:=Label4;
Lbls[4]:=Label5;

//То место, где нужно заполнить лэйблы
var I,J:Integer;
N:Integer;
L:TStringList;
S:string;

L:=TStringList.Create;
L.LoadFormFile('путь-файла\имя-файла.расширение');

N:=0;
for I:=0 to L.Count-1 do
if (L.Strings[I][1]='+') then
Inc(N);

N:=Random(N);
for I:=0 to L.Count-1 do
if (L.Strings[I][1]='+') then
begin
if (N=0) then
begin
S:=L.Strings[I];
Delete(S,1,1);
Lbls[0].Caption:=S;
for J:=1 to 4 do
begin
S:=L.Strings[I+J];
if (S[1]='_') then
Delete(S,1,1);
Lbls[J].Caption:=S;
end;
Break;
end;
else
Dec(N);
end;

L.Destroy;

3. [Отвечает: Dasha, 16.05.2005 11:47]:
var
Form1: TForm1;
pravilno: byte;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
F: textfile;
s :string;
vop: array [0..3] of string;
i, num, ind: integer;
begin
Randomize;
AssignFile(F,'N:\info.txt');
Reset(F);
num:=0;
while not EOF(f) do //считаем_количество_вопросов
begin
readln(F,s);
if s[1] = '+' then
num:=num+1;
end;
CloseFile(F);

Reset(F);
ind:=Random(num); //выбираем_произвольный_вопрос
for i:=0 to ind*5-1 do //переходим_на_нужную_строку
readln(F);
ReadLn(F,s);
Label1.Caption:=Copy(s,2,Length(s)-1); //записываем_вопрос
for i:=0 to 3 do //считываем_ответы_в_массив
begin
ReadLn(F,vop[i]);
if vop[i][1] = '_' then //если_ответ_правильный
begin
pravilno:=i+1; //записываем_его_номер
vop[i]:=Copy(vop[i],2,Length(vop[i])-1); //убираем_первый_символ
end;
end;
Label2.Caption:=vop[0]; //выводим
Label3.Caption:=vop[1];
Label4.Caption:=vop[2];
Label5.Caption:=vop[3];
CloseFile(F);
end;


В рассылке публиковались вопросы, на которые не ответил никто. Найти эти вопросы Вы можете на нашем сайте в разделе "Эксперт": http://www.delphi.int.ru/modules/expert/. Если Вы ответите на них, авторы этих вопросов будут Вам очень признательны. Все вопросы, опубликованные в данном выпуске рассылки, действительны в течение 7 дней после отправки самой рассылки. Ответы, присланные по истечении данного срока, приняты не будут. Пожалуйста, обратите на это внимание и рассчитайте свободное время. И не забывайте: чем больше ответов на вопросы Вы присылаете и чем качественнее эти ответы, тем больше у Вас шансы выиграть призы.


Статья по программированию.

Как прочитать ID3-Tag'и из MP3-файла?..

На самом деле, как это не кажется, прочитать ID3-теги из MP3-файла совсем не сложно и, более того, для этого не требуется никаких специальных компонентов. TMediaPlayer здесь также бессилен. Все ID3-теги хранятся в последних 128-ми байтах MP3-файла. Часть из них записана не в том виде, в каком мы привыкли их читать в Winamp или в другом проигрывателе... Итак, перейдём сразу к коду...


  Byte 1-3 = ID 'TAG' 
  Byte 4-33 = Titel / Title 
  Byte 34-63 = Artist 
  Byte 64-93 = Album 
  Byte 94-97 = Jahr / Year 
  Byte 98-127 = Kommentar / Comment 
  Byte 128 = Genre 
}

Это - общая схема хранения информации в MP3-файле, которую мы будем читать. Вся эта информация отделяется от "музыкальной" части файла символами 'TAG' . После них и начинается служебная информация: название композиции, исполнитель, альбом, год исполнения, комментарий, жанр. Будет гораздо проще работать с 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

Итак, мы объявили тип TID3Tag и теперь можем его использовать. Как видно из кода, этот класс содержит несколько строковых полей, в каждом из которых и будет записан соответствующий ID3-тег.

Теперь следует поговорить о теге, отвечащем за жанр композиции. Дело в том, что в файле хранится лишь номер жанра, а не название самого жанра, поэтому получать его название придётся вручную. Сначала объявим массив, содержащий названия всех возможных жанров. Всего их 147:

const 
 Genres : array
[0..146of 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'); 

Наконец, процедура, читающая все теги из MP3-файла... Пропишем её в разделе implementation:


var
 
  Form1: TForm1; 

implementation
 

{$R *.dfm}
 

function
 readID3Tag(FileName: string): TID3Tag; 
var
 
  FS: TFileStream; 
  Buffer: array
 [1..128of 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

Данная функция возвратит нам всё содержимое ID3-тегов MP3-файла, указанного в FileName. Теперь дело за малым - написать обработчик открытия файла и чтения содержимого всех тегов из выбранного файла:

procedure
 TfrmMain.Button1Click(Sender: TObject); 
begin
 
  if
 OpenDialog1.Execute then 
  begin
 
    with
 readID3Tag(OpenDialog1.FileName) do 
    begin
 
      LlbID.Caption := 'ID: '
 + ID; 
      LlbTitel.Caption := 'Titel: '
 + Titel; 
      LlbArtist.Caption := 'Artist: '
 + Artist; 
      LlbAlbum.Caption := 'Album: '
 + Album; 
      LlbYear.Caption := 'Year: '
 + Year; 
      LlbComment.Caption := 'Comment: '
 + Comment; 
      if
 (Genre >= 0and (Genre <=146then 
       LlbGenre.Caption := 'Genre: '
 + Genres[Genre] 
      else
 
       LlbGenre.Caption := 'N/A'

    end

  end

end

Ну вот и всё... Добавьте соответствующие компоненты на форму и испробуйте работоспособность кода. В архиве с данной статьёй есть данная демо-программа.

Кроме ID3 тегов (полное имя которых звучит как ID3v1), существуют ID3v2-теги. Они содержат большее количество информации: все ID3v1 теги, а также информацию об авторских правах, настоящем исполнителе, адресе в интернете, композиторе и другой информации. Однако, эти теги не получили широкого распространения, поэтому они в данной статье не рассматриваются. Принцип их чтения тот же, что и у ID3v1 тегов.

Скачать данную статью вместо с демо-программой Вы можете по этой ссылке.


Присылайте свои статьи по адресу info@delphi.int.ru с темой 'Articles' (без кавычек), и они будут опубликованы в ближайших выпусках рассылки и на сайте. Также вы можете заполнить вот эту форму. Большая просьба: статью оформляйте в -txt или -doc формате и используйте -zip или -rar сжатие (без самораспаковки). Если статья находится в формате HTML, пожалуйста, не используйте стиль Performatted.


Файловый архив.

Из данного раздела Вы можете скачать различные файлы: компоненты, plug-in'ы для Delphi, документацию по программированию, программы, игры, написанные на Delphi и всё остальное... Вы можете добавить свои файлы в данный раздел, будем очень признательны! Чтобы сделать это, пожалуйста, заполните форму на сайте. Когда администратор ответит Вам и даст согласие на добавление файла(ов), тогда Вы их и пришлёте. Убедительная просьба соблюдать все вышеописанные правила.

Название / описание файла
Категория
Объём
Ссылки
Как прочитать ID3-Tag'и из MP3-файла?
Статьи
12.5 Кб
Advanced Alert Window - Всплывающие окна с напоминаниями (оповещениями) в стиле Outlook 2003.
Компоненты
756 Кб
DCPCrypt - Один из известный пакетов для шифровки и расшифровки данных. Содержит более 100 алгоритмов шифрования.
Компоненты
189 Кб
NZCSpell - Компонент, с помощью которого можно проверять правописание в текстах. В архив вложен английский словарь.
Компоненты
503 Кб
TVSNetTreeView - компонент позволяет отображать иерархическую структуру вашей локальной сети, включая рабочие группы (домены), компьютеры, доступные ресурсы (диски, принтеры), каталоги. TVSNetTreeView является потомком TCustomTreeView и наследует все его свойства. Кроме того, в нем добавлены свойства и методы, позволяющие производить обзор сети, а также сведения о идентификации вашего компьютера в сети (рабочая группа, имя компьютера, версия ОС).Он позволяет отображать иерархическую структуру вашей локальной сети, включая рабочие группы (домены), компьютеры, доступные ресурсы (диски, принтеры), каталоги. TVSNetTreeView является потомком TCustomTreeView и наследует все его свойства. Кроме того, в нем добавлены свойства и методы, позволяющие производить обзор сети, а также сведения о идентификации вашего компьютера в сети (рабочая группа, имя компьютера, версия ОС).
Компоненты
58.5 Кб
DelForExp - Очень полезный плагин. Представляет из себя форматер кода. Пара нажатий клавиш и весь код становится упорядоченным и легко читаемым!
Plug-in's
218 Кб
Некоторые вопросы по Delphi и ответы на них.
Документация
147 Кб
Вопросы и ответы по Windows, советы.
Документация
511 Кб
Обширная документация по работе с помощниками MS Office (Agents).
Документация
698 Кб
MP3Player - Простенький MP3-плеер, написанный на Delphi.
Исходники
12.9 Кб
Flame - Пламя с использованием DirectDraw.
Исходники
30.4 Кб
Borland - Разработчики Delphi.
Изображения
68 Кб
Логотип Delphi.
Изображения
47 Кб
Среда разработки Delphi 7.
Изображения
248 Кб
Rus-Miner - Этот минер похож на Microsoft'ского Сапера. Правила игры те же, но во вскрытых ячейках, где нет ни мин, ни цифр, появляются фрагменты рисунка. Когда найдены все мины, игровое поле полностью очищается и становится видно весь рисунок.
Игры
347 Кб
WindXP - многофункциональная программа для ПК. Функции: Подключение к Интернету, Разговорник, Сектор 3 программ для быстрого запуска, Файлы, создание файлов. Для полной версии обращайтесь на сайт www.sassoft.narod.ru.
Программы
495 Кб
UPX - Наиболее распространённый упаковщик EXE-файлов. Качество сжатия - как у ZIP.
Программы
204 Кб
ASPack - Ещё один известный упаковщик с привычным Windows-интерфейсом.
Программы
316 Кб

Чтобы перейти к разделу "Файловый архив" на сайте, нажмите на эту ссылку.


Дружественные сайты.

Здесь представлены ссылки на дружественные сайты нашего портала. Если вы тоже хотите стать нашим другом, разместите наш баннер на своём сайте. Подробнее о том, как это сделать, можно прочитать на странице данного раздела на нашем сайте. Узнать о всех наших друзьях более подробно вы сможете на той же странице...


http://infomania2004.webhost.ru/ - Этот сайт создан для того, чтобы вы могли получить интересующую вас информацию с минимальными затратами сил и времени. Если вы не нашли здесь нужной информации, вы можете оставить заявку на ее поиск. Как только информация будет найдена, она появится на сайте, а вам сообщат об этом.


http://www.visualbasic.noka.ru/ - Программирование на Visual Basic & Basic. На сайте Вы найдете множество примеров, статьи, исходники, ActiveX, а также многое другое!


http://www.sashook.nm.ru/ - Игры, флешки, обои, компьютерные приколы.


http://www.ssgroup.fatal.ru/ - Delphi 39. Ресурс для программистов. Статьи, исходники, компоненты, учебники, справочники, FAQ, программы и многое другое.


Дружественные рассылки:

Рассылки Subscribe.Ru
Интернет для Delphi-программиста
X-Program ПО, новости сайта и программирование в Delphi7
Visual Basic для новичков и профессионалов

 


Юмор.

От работников караоке:
Муж приходит домой,жена его спрашивает:
"Где деньги, пропил???!!!"
На что муж отвечает:
"Нет...пропел"

* * *

- Алло! Это телефон единой службы спасения? Помогите! У меня в квартире пожар, и я не могу из нее выбраться!
- К сожалению, все пожарные расчеты сейчас на выезде. Продержитесь еще 10 минут своими силами, и к вам прибудут лучшие специалисты по экстренной психологической помощи!

* * *

Один приятель звонит другому с радостным сообщением:
- У меня уехала теща!
- Кто, кто уехал? - Не понимает тот.
- Говорю по буквам: тигр, ехидна, щука, акула!

* * *

Приходит новый русский с девушкой в парфюмерный магазин:
- Мне нужны духи "Девушка мента".
- Какие?
- "Девушка мента", блин.
Девушка нового русского показывает на прилавок:
- Вот эти - духи "Мисс опера".

* * *

- А ко мне теща после свадьбы только раз приехала...
- Да ты просто счастливчик!
- Да... И уже больше не уезжала...


Пожалуйста, присылайте свои анекдоты по этой ссылке: info@delphi.int.ru и они обязательно будут опубликованы! Желательно на компьютерную тему.

Товарищи программисты! Проявляйте свою активность. Давайте помогать друг другу!
Если вы не нашли ответа на свой вопрос, не отчаивайтесь! Количество подписчиков постоянно растёт и, наверняка, найдётся тот человек,
который поможет вам! На сегодня всё. До встречи через неделю!
Ведущий рассылки, Ерёмин Андрей.

Вы можете оказать помощь нашей рассылке через систему WebMoney:
R760630419845
Z947123691104
Будем очень благодарны!

 

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

В избранное