imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 24.11.2005, 09:26     # 1
GreatLion
Guest
 
Сообщения: n/a

Exclamation Помогите с VB и API pls

Спасибо всем кто помогал с предыдущими вопросоми.
Пожалуйста, если кто-то знает как, или где можно взять, скажите как написать на VB6 Tray bar. Т.е. то окошечко где иконки, свернутые. Я пытался очень долго. Все списки функций перерывал, но ничего не нашел. Этот новый(написаный) трэй должен отлавливать окна, которые там сидят, отлавливать их иконки, и самое главное - это посылать им сообщения о клике. Как я ни пытался все тщетно. Кто может, помогите!

Последний раз редактировалось GreatLion; 24.11.2005 в 10:05.
 
Старый 24.11.2005, 09:36     # 2
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
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...
Ghost вне форума  
Старый 24.11.2005, 09:47     # 3
GreatLion
Guest
 
Сообщения: n/a

Спасибо. Этот вариант подходит.
 
Старый 01.12.2005, 14:32     # 4
Part
Guest
 
Сообщения: n/a

Большое спасибо тем, кто мне поможет разобраться с VB6.0.
Пытаюсь создать свою БД, но...
Там везде надо подключаться к какому-то серверу.
Но у меня нет такой возможности.
Неужели нельзя разработать свою, уникальную БД, без подключений к чему бы то нибыло?
 
Старый 01.12.2005, 14:56     # 5
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
Юзай DBF файлы.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!
Ghost вне форума  
Старый 02.12.2005, 15:46     # 6
DOric
Guest
 
Сообщения: n/a

Я новичек в програмирование тока изучаю, если кто может помагите пожалуйста.
Как сделать так, чтобы из базы данных (из документа формата БЛОКНОТ) из 50 вопросов случайным образом выводились на экран любые 15? И как поставить таймер на эти 15 вопросов? (т.е. чтобы пользователь думал
над этими 15 вопросами не более 5 минут: как только время заканчивается, сразу выдается результат, независимо от того, на сколько вопросов он успел ответить в течение этих 5 минут.)
 
Старый 02.12.2005, 15:49     # 7
ЕЖ
::VIP::
 
Регистрация: 19.03.2004
Сообщения: 1 329

ЕЖ Бог с наворотамиЕЖ Бог с наворотами
ЕЖ Бог с наворотамиЕЖ Бог с наворотами
DOric
Ты опиши сначала что у тебя за среда разработки? Язык я так понял паскаль - но Delphi или досовский Turbo Pascal 7.0?
ЕЖ вне форума  
Старый 02.12.2005, 17:13     # 8
DOric
Guest
 
Сообщения: n/a

Turbo Pascal 7.0 досовский
 
Старый 02.12.2005, 17:14     # 9
VDen
Newbie
 
Регистрация: 05.05.2003
Адрес: Tyumen
Сообщения: 9

VDen Путь к славе только начался
Вообще - надо считать файл в массив, а потом просто случайно показывать 15 строк из этого массива. Тут тебе поможет функция ReadLn.

А насчет таймера - тут да, важно знать, какая среда.
VDen вне форума  
Старый 02.12.2005, 17:18     # 10
ЕЖ
::VIP::
 
Регистрация: 19.03.2004
Сообщения: 1 329

ЕЖ Бог с наворотамиЕЖ Бог с наворотами
ЕЖ Бог с наворотамиЕЖ Бог с наворотами
DOric
А ответы на вопрос должны вводится пользователем в виде текста или это будет выбор, скажем, номера ответа (типа тест)? Т.е. ожидание нажатия клавиши или работа, скажем, той же readln. Это к вопросу о способе реализации таймера.
ЕЖ вне форума  
Старый 02.12.2005, 17:21     # 11
DOric
Guest
 
Сообщения: n/a

Если мона то покажите в примерчеке в не большом особенно про таймер

ЕЖ
номера ответа (тест) ползователь выбирает из данных ему ответов
 
Старый 02.12.2005, 17:38     # 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.
ЕЖ вне форума  
Старый 04.12.2005, 15:47     # 13
DOric
Guest
 
Сообщения: n/a

ЕЖ
Спасибо за помощь

Последний раз редактировалось DOric; 04.12.2005 в 15:49.
 

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 01:26.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.