| imho.ws |
![]() |
|
|
|
# 1 |
|
Guest
Сообщения: n/a
|
Спасибо всем кто помогал с предыдущими вопросоми.
Пожалуйста, если кто-то знает как, или где можно взять, скажите как написать на VB6 Tray bar. Т.е. то окошечко где иконки, свернутые. Я пытался очень долго. Все списки функций перерывал, но ничего не нашел. Этот новый(написаный) трэй должен отлавливать окна, которые там сидят, отлавливать их иконки, и самое главное - это посылать им сообщения о клике. Как я ни пытался все тщетно. Кто может, помогите!
Последний раз редактировалось GreatLion; 24.11.2005 в 10:05. |
|
|
# 2 |
|
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
GreatLion
Например, считывай посимвольно и добавляй к строке пока не встретишь пробел: Код:
program num;
var a,b:string; c:char; f:text;
begin
assign(f,'input.dat');
reset(f);
a:=''; repeat read(f,c); if c<>' ' then a:=a+c; until c=' ';
b:=''; repeat read(f,c); if c<>' ' then b:=b+c; until c=' ';
write(a,' - ',b);
close(f);
read;{}
end.
З.Ы. Кстати, не забывай закрывать файл. И задержку можно делать, не указывая имени переменной в read. А лучше делать это функцией readkey из модуля CRT. З.З.Ы. Вот код для считывания по строкам и разрезания строк по пробелам в массив: Код:
uses
crt;
var
a: array [0..32] of string;
s: string;
n, i, j: integer;
f: text;
begin
clrscr;
assign(f, 'input.dat');
{$I-}
reset(f);
{$I+}
if IOResult = 0 then begin
n := 0;
repeat
readln (f, s);
while s <> '' do begin
i := 1; while (i <= length (s)) and (s[i] = ' ') do inc (i);
if i < length (s) then begin
s := copy (s, i, length (s) - i + 1);
j := pos (' ', s) - 1; if j = -1 then j := length (s);
a[n] := copy (s, 1, j);
inc (n);
if j = length (s) then s := ''
else s := copy (s, j + 1, length (s) - j);
end;
end;
until eof (f);
dec (n);
for i := 0 to n do
writeln (a[i]);
close (f);
end else writeln('Can''t open file ''input.dat''');
write ('press any key to exit...');
readkey;
end.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! Последний раз редактировалось Ghost; 24.11.2005 в 10:06. Причина: склероZzz... |
|
|
|
|
# 6 |
|
Guest
Сообщения: n/a
|
Я новичек в програмирование тока изучаю, если кто может помагите пожалуйста.
Как сделать так, чтобы из базы данных (из документа формата БЛОКНОТ) из 50 вопросов случайным образом выводились на экран любые 15? И как поставить таймер на эти 15 вопросов? (т.е. чтобы пользователь думал над этими 15 вопросами не более 5 минут: как только время заканчивается, сразу выдается результат, независимо от того, на сколько вопросов он успел ответить в течение этих 5 минут.) |
|
|
# 10 |
|
::VIP::
Регистрация: 19.03.2004
Сообщения: 1 329
![]() ![]() ![]() ![]() |
DOric
А ответы на вопрос должны вводится пользователем в виде текста или это будет выбор, скажем, номера ответа (типа тест)? Т.е. ожидание нажатия клавиши или работа, скажем, той же readln. Это к вопросу о способе реализации таймера. |
|
|
|
|
# 12 |
|
::VIP::
Регистрация: 19.03.2004
Сообщения: 1 329
![]() ![]() ![]() ![]() |
Ну примерно так:
Код:
repeat
if KeyPressed then
begin
ch:=readkey;
if (ch in ['1'..'9']) then
begin
{ обработка нажатой клавиши 1-9 в соотв. с вариантом ответа }
end;
end;
{ опрос текущего времени функцией GetTime(h,m,s,hund) модуля Dos и вычисление прошедшего интервала (формирование условия окончания цикла) }
until ({ условие окончания цикла });
Последний раз редактировалось ЕЖ; 02.12.2005 в 17:41. |
|
|