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

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


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

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

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

Выпуск № 143
от 05.06.2005, 15:30

Администратор:Калашников О.А.
В номере:Вопросов: 5, Ответов: 30


Вопрос № 21528: Добрый день. Возникла проблема со считыванием и изменением в ini файле. Существует ini файл со следующими строка: Начало=1000 Войти в здание=3000 Искать=1000 Закрыть окно=250 Выйти из здания=3000 Вопрос. Каким образом ...
Вопрос № 21548: Извиняйте плиз. Как из одного текстовово файла проверить на совпадение, строки во втором файле. т.е строка из одного файла сравнивается со всеми строками в другом файле и записывает в мемо совпавщие строки или не совпавшие....
Вопрос № 21554: Возвращаясь к вопросу № 21353 1.Каким образом можно узнать размеры видео изображения и изменить эти размеры? 2.Как узнать длину медиа-файла в секундах. были получены несколько ответов экспертов, но все же: 1) Подскажите как можно зада...
Вопрос № 21558: Здравствуйте уважаемые эксперты. Как сделать так чтоб при запуске программы не появлялась главная форма? Cуть такова: Запускает человек программу. Или она сама запускается из автозагрузки. Сперва ничего не происходит. Но через пол часа вы...
Вопрос № 21561: Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста, как выводить полупрозрачную надпись поверх всех окон....

Вопрос № 21.528
Добрый день.
Возникла проблема со считыванием и изменением в ini файле.
Существует ini файл со следующими строка:
Начало=1000
Войти в здание=3000
Искать=1000
Закрыть окно=250
Выйти из здания=3000
Вопрос. Каким образом считать эти строки в Edit1-Edit5
То-есть
В Edit1 должно считаться 1000 в Edit2 -3000, Edit3- 250. То-есть сами числа.
Опять же когда запуститься форма она считывает эти числа в Editы.
Мне еще нужно чтобы я мог изменить значение в Editaх и эти изменения отобразились в ini файле.
Если не трудно пример кодом пожалуйста.
С Уважением, Алексей
Отправлен: 30.05.2005, 18:14
Вопрос задала: Алексей (статус: Посетитель)
Всего ответов отправлено: 7

Отвечает: Bochvarov NikB
Здравствуйте, Комов!
uses
IniFiles;
...
IniFile: TIniFile;
...
IniFile := TIniFile.Create(aFile);
IniFile.ReadSection(aSection, aStrings);
Result:=IniFile.ReadString(aSection, aKey, aDefault);
и т.п.
Ответ отправил: Bochvarov NikB (статус: 3-ий класс)
Отправлен: 30.05.2005, 18:30

Отвечает: Delphin
Здравствуйте, Комов!
Ну думаю ты знаешь как код вставлять? :-)
Смотри приложение.

Приложение:

---------
Ищу сервис пак для школы ^)))

Ответ отправил: Delphin (статус: 3-ий класс)
Отправлен: 30.05.2005, 19:42

Отвечает: Malish
Здравствуйте, Комов!
Для вывода и считки делай так:
var
Temp : String;
F: TextFile;
i : integer;
flag: boolean;
begin
flag:= false;
if OpenDialog1.Execute then { Display Open dialog box }
begin
readln(F,Temp);
for i:=0 to Length(Temp) do
begin
if (flag=true) then
Edit1.Text := Edit1.Text+ Temp[i];
if (Temp[i]='=') then
flag:=true;
end;
flag:=false;
end; // в Edit1 будет только 1000 можно сделать через функцию которая будет возвращать строку
Для записи :
var
//Temp : String;
F : TextFile;
i : integer;
begin
if SaveDialog1.Execute then { Display Open dialog box }
begin
AssignFile(F, SaveDialog1.FileName); { File selected in dialog box }
Rewrite(F);
Writeln(F,'Начало='+Edit1.Text);
//... //и так далее
end;
CloseFile(F);
end;
Вот так ;) !!!
Ответ отправил: Malish (статус: Студент)
Отправлен: 30.05.2005, 20:29

Отвечает: komatoz
Здравствуйте, Комов!
Это пример из моей программы:
GetDir(0,IniPath);
FileName:=IniPath+'lansetup.ini';
IniFile:=TIniFile.Create(FileName);
Host:=IniFile.ReadString('Net','Host',Host);
lan:=IniFile.ReadString('Net','lan',lan);
readonly:=IniFile.ReadString('Net','readonly',readonly);
DBPanel:=IniFile.ReadString('Net','DBPanel',DBPanel);
Days:=IniFile.ReadInteger('Net','Days',Days);
SK4:=IniFile.ReadInteger('Net','SK4',SK4);
SK2:=IniFile.ReadInteger('Net','SK2',SK2);
WorkDays:=IniFile.ReadString('Net','WorkDays',WorkDays);
здесь записываем
inifile.WriteString('NET','WorkDays',WorkDays);
inifile.WriteString('NET','Host',edit1.Text);
inifile.WriteString('NET','Days',edit3.Text);
days:=strtoint(edit3.Text);
inifile.WriteString('NET','SK4',edit4.Text);
SK4:=strtoint(edit4.Text);
inifile.WriteString('NET','SK2',edit5.Text);
SK2:=strtoint(edit5.Text);
inifile.WriteString('NET','WorkStationId',edit2.Text);
IniFile.Free;
Ответ отправил: komatoz (статус: 1-ый класс)
Отправлен: 31.05.2005, 02:23

Отвечает: Master135
Здравствуйте, Комов!
[File]
File=File
Lessons=Lessons
Pause=Pause
NewUser=NewUser
LoadUser=LoadUser
SaveResults=SaveResults
Continue=Continue
[Language]
Language=Language
English=English
Russian=Russian
[CustomLessons]
CustomLessons=CustomLessons
CreateLesson=CreateLesson
LoadUserLesson=LoadUserLesson
SaveLesson=SaveLesson
[Help]
Help=Help
About=About
Program Help=Program Help
[Difficulcy]
Difficulcy=Difficulcy
Easy=Easy
Medium=Medium
Difficult=Difficult
[Font]
Font1=Font1
Font2=Font2
Вот пример ини файла
А вот пример работі с ним повставляйте там где надо свои едиты, но обрати внимание на формат ини файла
ini:=TiniFile.Create(GetCurrentDir+'English.ini')
end;
MainMenu1.Items.Enabled:=true;
Form1.MAinMenu1.Items.Items[0].Caption:=ini.ReadString('File','File','');
Form1.MAinMenu1.Items.Items[0].Items[0].Caption:=ini.ReadString('File','Lessons','');
Form1.MAinMenu1.Items.Items[0].Items[1].Caption:=ini.ReadString('File','Pause','');
Form1.MAinMenu1.Items.Items[0].Items[2].Caption:=ini.ReadString('File','NewUser','');
Form1.MAinMenu1.Items.Items[0].Items[3].Caption:=ini.ReadString('File','LoadUser','');
Form1.MAinMenu1.Items.Items[0].Items[4].Caption:=ini.ReadString('File','SaveResults','');
Form1.MAinMenu1.Items.Items[0].Items[5].Caption:=ini.ReadString('File','Continue','');
Form1.MAinMenu1.Items.Items[1].Caption:=ini.ReadString('Language','Language','');
Form1.MAinMenu1.Items.Items[1].Items[0].Caption:=ini.ReadString('Language','English','');
Form1.MAinMenu1.Items.Items[1].Items[1].Caption:=ini.ReadString('Language','Russian','');
Form1.MAinMenu1.Items.Items[2].Caption:=ini.ReadString('CustomLessons','CustomLessons','');
Form1.MAinMenu1.Items.Items[2].Items[0].Caption:=ini.ReadString('CustomLessons','CreateLesson','');
Form1.MAinMenu1.Items.Items[2].Items[1].Caption:=ini.ReadString('CustomLessons','LoadUserLesson','');
Form1.MAinMenu1.Items.Items[2].Items[2].Caption:=ini.ReadString('CustomLessons','SaveLesson','');
Form1.MAinMenu1.Items.Items[3].Caption:=ini.ReadString('Help','Help','');
Form1.MAinMenu1.Items.Items[3].Items[0].Caption:=ini.ReadString('Help','About','');
Form1.MAinMenu1.Items.Items[3].Items[1].Caption:=ini.ReadString('Help','Program Help','');
Form1.MAinMenu1.Items.Items[4].Caption:=ini.ReadString('Difficulcy','Difficulcy','');
Form1.MAinMenu1.Items.Items[4].Items[0].Caption:=ini.ReadString('Difficulcy','Easy','');
Form1.MAinMenu1.Items.Items[4].Items[1].Caption:=ini.ReadString('Difficulcy','Medium','');
Form1.MAinMenu1.Items.Items[4].Items[2].Caption:=ini.ReadString('Difficulcy','Difficult','');
Form1.MAinMenu1.Items.Items[5].Caption:=ini.ReadString('Font','Font','');
Form1.MAinMenu1.Items.Items[5].Items[0].Caption:=ini.ReadString('Font','Font1','');
Form1.MAinMenu1.Items.Items[5].Items[1].Caption:=ini.ReadString('Font','Font2','');
ini.Destroy;
Ответ отправил: Master135 (статус: 3-ий класс)
Отправлен: 31.05.2005, 02:49
Оценка за ответ: 4

Отвечает: sir henry
Здравствуйте, Комов!
Для ini-файлов существует специальный класс - TIniFile. Работать с ним можно так:
var
MyIni: TIniFile;
s: syring; {Для сообщений}
Begin
{Открытие}
MyIni:=TIniFile.Create('Имя_файла.ini');
{Чтение строки из какой-либо секции}
Edit1.Text:=MyIni.ReadString('Название_секции', 'Название_строки', s);
{Записать в строку секции}
MyIni.WriteString('Название_секции', 'Название_строки', Edit1.Text);
{Освобождаем ресурс и закрываем файл}
MyIni.Free;
End;
Кроме ReadString в классе есть еще и методы для чтения других типов данных:
ReadBinaryStream
ReadBool
ReadDate
ReadDateTime
ReadFloat
ReadInteger
ReadTime
и, естественно, для записи их же. :)
Можно так-же считывать всю секцию за один раз:
ReadSection('Название_секции', StringList: TString);
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 31.05.2005, 05:37
Оценка за ответ: 5

Отвечает: Stamm
Здравствуйте, Комов!
Надо ini вида:
[настройки]
Начало=1000
Войти в здание=3000
Искать=1000
Закрыть окно=250
Выйти из здания=3000
var
IniFile:TIniFile;
begin
IniFile := TIniFile.Create('c:: est.INI');
Label1.edit:=IniFile.ReadString('настройки','Начало','') {И т.д}
А Записать
IniFile.WriteString('настройки','Начало',Label1.edit)
IniFile.Free;
Ответ отправил: Stamm (статус: 4-ый класс)
Отправлен: 31.05.2005, 19:12
Оценка за ответ: 5
Комментарий оценки:
Расписано очень доступно


Вопрос № 21.548
Извиняйте плиз.
Как из одного текстовово файла проверить на совпадение, строки во втором файле.
т.е строка из одного файла сравнивается со всеми строками в другом файле и записывает в мемо совпавщие строки или не совпавшие.
Отправлен: 31.05.2005, 00:05
Вопрос задала: kda (статус: Посетитель)
Всего ответов отправлено: 5

Отвечает: sir henry
Здравствуйте, kda!
Непонятно что нужно - записывать в мемо совпавшие строки или не совпавшие? Вы уж, батенька, изъясняйтесь непротиворечиво. :)
Поиск строки в файле можно сделать так:
Открыть оба файла традиционным способом, т.е. через AssignFile().
Завести цикл чтения строк из первого файла в строковую переменную.
Внутри завести второй цикл по чтению строк из втрого файла и каждую строку из него сравнивать со строкой из переменной первого файла.
В случае совпадения(несовпадения - тут уж Вы сами определитесь) строка записывается в мемо (Memo.Lines.Add(Строка)).
Пример в приложении.

Приложение:

Ответ отправил: sir henry (статус: Профессор)
Отправлен: 31.05.2005, 06:38

Отвечает: uzertt
procedure TForm1.Button5Click(Sender: TObject);
var
SL1, SL2: TStringList;
i: Integer;
begin
SL1 := TStringList.Create;
SL2 := TStringList.Create;
try
Sl1.LoadFromFile('1.txt');
Sl2.LoadFromFile('2.txt');
for i:=0 to Sl1.Count-1 do
if Pos(SL1[i], Sl2.Text)>0 then begin
// Строка присутствует
end else begin
// Она же отсутствует
end;
finally
Sl1.Free;
Sl2.Free;
end;
end;
Ответ отправил: uzertt (статус: 1-ый класс)
Отправлен: 31.05.2005, 08:44

Отвечает: Jadd
Здравствуйте, kda!
Прежде, чем задавать вопрос, неплохо было бы поискать в базе - а вдруг уже отвечали на такой-же. Неделю назад тут уже был такой вопрос. Ищите ответ в базе вопросов/ответов. Ничего более сообщить не хочу.
---------
Hakuna matata
Ответ отправил: Jadd (статус: 6-ой класс)
Отправлен: 31.05.2005, 10:22

Отвечает: nimoid
Здравствуйте, kda!
В архив рассылки сначала надо заглядывать. Такой вопрос совсем недавно был.
Ответ отправил: nimoid (статус: 2-ой класс)
Отправлен: 31.05.2005, 12:10

Отвечает: Pushkin
Здравствуйте, kda!
Сравнивать строки можно также, как и любые другие переменные, т.е. if str1=str2. Читать строки из файла можно оператороми ReadLn(F1,str1); ReadLn(F2,str2);
if str1=str2 then Memo1.Lines.Add(str1);
Делаем все в цикл.
F1 и F2 - файловые переменные типа SYSTEM.Text;
Или любым другим способом (их {способов} количество бесконечно).
Ответ отправил: Pushkin (статус: 3-ий класс)
Отправлен: 31.05.2005, 18:29


Вопрос № 21.554
Возвращаясь к вопросу № 21353
1.Каким образом можно узнать размеры видео изображения и изменить эти размеры?
2.Как узнать длину медиа-файла в секундах.
были получены несколько ответов экспертов, но все же:
1) Подскажите как можно задать определёный размер видео картинки.
Когда я пытаюсь задать координата ключевых точек вот так:
MediaPlayer1.Open;
MediaPlayer1.DisplayRect.Left:=10;
MediaPlayer1.DisplayRect.Top:=10;
MediaPlayer1.DisplayRect.Right:=70;
MediaPlayer1.DisplayRect.Bottom:=50;
MediaPlayer1.Play;
у меня появляется сообщение об ошибке типа: [Error].pas(28): Left side be assigned to
Может я что-то делаю неправильно,
но водебы интежеревой переменной присваиваю значение такогоже типа.
2) Программно (Label5.Caption:=IntToStr(MediaPlayer1.Length);)
я узнаю длинну медиа-файла(стандартный файл Delphi: BorlandDelphi6DemosCoolStufspeedis.avi)
и заношу её в лейбл. И я получаю 460. Но через Winamp длинна равна 30.
Даже если 460 это милисекунды то все равно они не равны 3000.
3) Можно ли узнать что проигрывание медиа-файла закончено? Как? Или это узнается специальным таймером?
Можно ли это сделать при помощи операции Nofity? Как она работает?
С уважением, Романов Леонид.
Отправлен: 31.05.2005, 11:52
Вопрос задал1: Ямкина Елена Владимировна (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: X
Здравствуйте, Ямкина Елена Владимировна!
1)Сначало надо установить сам Dispaly: MediaPlayer1.Display:=Panel1, затем можно изменять размеры Panel1.
2)MediaPlayer1.Length - если проигрываеться звук, то это милисекунды, а вот если видео - неясно что, может кол-во кадров.
3)If MediaPlayer1.Position=MediaPlayer1.Length then//проигрование закончено
Ответ отправил: X (статус: 5-ый класс)
Отправлен: 31.05.2005, 14:43

Отвечает: Malish
Здравствуйте, Ямкина Елена Владимировна!
2.
MediaPlayer1.TimeFormat := tfMilliseconds;
ShowMessage('Number of milliseconds = ' + IntToStr(MediaPlayer1.Length));
Ответ отправил: Malish (статус: Студент)
Отправлен: 31.05.2005, 19:30


Вопрос № 21.558
Здравствуйте уважаемые эксперты. Как сделать так чтоб при запуске программы не появлялась главная форма?
Cуть такова:
Запускает человек программу. Или она сама запускается из автозагрузки.
Сперва ничего не происходит. Но через пол часа вылезает окошко с сообщением
типа "Купите себе селедку и морочте ей голову". При нажатии на OK исчезает, но через пол часа снова вылезает
с другим сообщением (тут уже Visible меняет не кнопка, а сработавший
таймер). Таких сообщений там полтора десятка, они выбираются случайным
образом и подставляются в качестве значения Caption объекта Label на этой
форме. Снимается резидент только через три пальца, причем видно его только
на вкладке "Процессы" - в "Приложениях" его видно только когда это окно
вылезает. Я все это уже сделал, вся фигня только в том, что при запуске
этой программы окно вылезает сразу. А надо чтобы оно сразу же скрытым было,
иначе запустивший эту прогу юзер сразу все поймет.
Отправлен: 31.05.2005, 13:59
Вопрос задала: Саша Ковальски (статус: Посетитель)
Всего ответов отправлено: 9

Отвечает: uzertt
Здравствуйте, Саша Ковальски!
в *.dpr перед созданием главной формы пишем
Application.ShowMainForm := False;
и все...
Ответ отправил: uzertt (статус: 1-ый класс)
Отправлен: 31.05.2005, 14:15

Отвечает: Ballon
Здравствуйте, Саша Ковальски!
Самый простой способ на FormCreate изменить положение формы. Например:
Form1.Left := Screen.Width + 100;
А на таймер возвращаешь на место. Например;
Form1.Position := poScreenCenter;
Но тогда тебе придется убирать её с панели задач.
Ответ отправил: Ballon (статус: 2-ой класс)
Отправлен: 31.05.2005, 15:03

Отвечает: X
Здравствуйте, Саша Ковальски!
Ещё пара вариантов как спрятать форму:
1)Form1.Hide (ну или просто Hide) в FormPaint.
2)ShowWindow(Handle,SW_HIDE) там же.
Чтоб появилась можно использовать Show или ShowWindow(Handle,SW_SHOWNORMAL).
Ответ отправил: X (статус: 5-ый класс)
Отправлен: 31.05.2005, 16:53

Отвечает: Malish
Здравствуйте, Саша Ковальски!
К советам предоставленным выше могу предложить сделать форму невидимой ;)
procedure TMainForm.FormCreate(Sender: TObject);
begin
Application.OnMinimize:=AppMinimize;
Application.OnRestore:=AppMinimize;
Application.Minimize; AppMinimize(@Self);
end;
procedure TMainForm.AppMinimize(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
end;
Ответ отправил: Malish (статус: Студент)
Отправлен: 31.05.2005, 19:15

Отвечает: Denisss
Здравствуйте, Саша Ковальски!
Заходим меню File->New->Other... там выбираем Console Application на закладке New.
В новом проекте находим {$APPTYPE CONSOLE} и удаляем его (чтобы консольное окошко не появлялось) далее см. код.

Приложение:

Ответ отправил: Denisss (статус: 2-ой класс)
Отправлен: 31.05.2005, 19:21

Отвечает: Stamm
Здравствуйте, Саша Ковальски!
ДЛя начала на загрузку формы поставь:
application.ShowMainForm:=false;
Создай массив из N кол-ва сообщений
Const n=10;
VAr a:array[1..n] of string;
Заполни его
a[1]:='';
a[2]:='';
и т.д.
Затем кинь на форму таймер и поставь там интервал 1800000
Label1.caption:=a[Random(n)];
Ответ отправил: Stamm (статус: 4-ый класс)
Отправлен: 31.05.2005, 19:22

Отвечает: sir henry
Здравствуйте, Саша Ковальски!
Ну дак присвойте этому окну в дизайн-тайме значение Visible:=False и оно у Вас будет запускаться невидимым. Или я чего-то не понял в Вашем вопросе?
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 01.06.2005, 04:01

Отвечает: And1
Здравствуйте, Саша Ковальски!
Программы-приколы писать нехорошо! Ну ладно, но только в целях обучения :))
1. Для скрытия формы в событие OnActivate кидаешь следующий код:
ShowWindow (Handle, SW_HIDE);
ShowWindow (Application.Handle, SW_HIDE);
2. Для отображения формы на твоё событие вот так:
ShowWindow (Handle, SW_Normal);
ShowWindow (Application.Handle, SW_Normal);
Ответ отправил: And1 (статус: 2-ой класс)
Отправлен: 01.06.2005, 15:31

Отвечает: Ujin Antikvar
Здравствуйте, Саша Ковальски!
На Delphi я знаю только один способ уничтожения глав форм и выглядит это так:
Form1.Create(Application); //Уничтожает глав функцию
Попробуй еще просто сделать глав форму не видимой установив в Object-Inspector'e в раздле Visible значение False.
Удачи
С Ув. Ujin Antikvar
---------
Не зацикливайся на достигнутом, а двигайся в перед
Ответ отправил: Ujin Antikvar (статус: 1-ый класс)
Отправлен: 01.06.2005, 23:02


Вопрос № 21.561
Здравствуйте, уважаемые эксперты!
Подскажите, пожалуйста, как выводить полупрозрачную надпись поверх всех окон.
Отправлен: 31.05.2005, 14:21
Вопрос задала: Lauer (статус: Посетитель)
Всего ответов отправлено: 7

Отвечает: Jadd
Здравствуйте, Lauer!
ДЫк делаем изображение ввиде надписи. Затем юзаем компоненту, которая позволяет делать окна любой формы. И юзаем свойство AlphaBlend формы. Затем ставим свойство TopMost и показываем. Все.
---------
Hakuna matata
Ответ отправил: Jadd (статус: 6-ой класс)
Отправлен: 31.05.2005, 15:04

Отвечает: streetcat
Здравствуйте, Lauer!
так получиться только в виндах выше 2000 включительно
создай форму с надписью и установи значения ee свойствам:
FormStyle := fsStayOnTop;
BorderStyle := bsNone;
AlphaBlend := True;
AlphaBlendValue := 128; // 50% прозрачности
ну а теперь размести на форме Label с нужным текстом и задай фоновый цвет формы
если фон не нужен, то задай его, например, черным и установи свойства формы в:
TransparentColor := true;
TransparentColorValue := clBlack; // Такой же как фон

---------
WinERROR: Keyboard not detected. Press Enter to continue
Ответ отправил: streetcat (статус: 5-ый класс)
Отправлен: 31.05.2005, 15:46

Отвечает: Master89
Здравствуйте, Lauer!
Можно сделать отдельную форму, поставить у неё Border=bsNone, затем "положить" Label с нужным текстом. Ну а саму форму и сделать полупрозрачной (AlphaBlendValue = 128). Другой вариант - рисовать прямо на экране. Функция GetDC(0) возвратит дескриптор канвы экрана (Canvas) и потом на ней можно привычно рисовать (через TextOut). Однако здесь есть подводный камень: другие окна будут затирать нарисованный текст.
Ответ отправил: Master89 (статус: 5-ый класс)
Отправлен: 31.05.2005, 17:50

Отвечает: Pushkin
Здравствуйте, Lauer!
Необходимо использовать свойства AlphaBlend и AlphaBlendValue
Ответ отправил: Pushkin (статус: 3-ий класс)
Отправлен: 31.05.2005, 18:31

Отвечает: Stamm
Здравствуйте, Lauer!
Form1.AlphaBlendValue := 200;
Form1.AlphaBlend := True;
Form1.FormStyle:=fsStayOnTop;
Form1.BorderStyle:=bsNone;
Кидай на форму Label на весь размер
И всё
Ответ отправил: Stamm (статус: 4-ый класс)
Отправлен: 31.05.2005, 19:27

Отвечает: sir henry
Здравствуйте, Lauer!
Что такое "полупрозрачная надпись"? Это компонент Label со свойством Transparent:=True или модальное окно, сквозь которое все просвечивает?
Уточните пожалуйста.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 01.06.2005, 04:03

Отвечает: VBA
Здравствуйте, Lauer!
Можно сделать прозрачную форму (свойство AlphaBlend=True и AlphaBlendValue - "значение прозрачности окна") и установить свойство FormStyle равным fsStayOnTop.
На этой форме разместить лабел с любым текстом.
Эта фича работает только в Win 2000/XP
---------
Неправ вечно юзер, ибо прав всегда Админ!
Ответ отправил: VBA (статус: 4-ый класс)
Отправлен: 01.06.2005, 12:45


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

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

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

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

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


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


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

Яндекс


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

В избранное