ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #2931  
Старый 01.03.2009, 16:05
AlexTheC0d3r
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме:
1229135

Репутация: 425
Отправить сообщение для AlexTheC0d3r с помощью ICQ
По умолчанию

if not( Key in ['0'..'9'] ) then
Key := #0;

В евенте onkeydown
 

  #2932  
Старый 01.03.2009, 17:11
Djezul
Познающий
Регистрация: 08.12.2008
Сообщений: 58
Провел на форуме:
153361

Репутация: 10
По умолчанию

Цитата:
В евенте onkeydown
В каком ещё ивенте? Такое есть в паскале? помоему это в делафи , а мне в Pascal надо
 

  #2933  
Старый 01.03.2009, 19:36
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

Цитата:
Сообщение от Djezul  
ребята у меня такой вопрос по паскалю , мне нужно чтобы когда пользователь вводил информацию происходила проверка вводит ли он в поле для цифр цифры или буквы, чтобы программа не вылетала а писала что нужно ввести правильный тип данных и снова предлагала ввести информацию. Как это можно реализовать?
while(true)
begin
try
забыл уже как на Delphi
Вобщем просто тупо тут пробуешь сделать Val (если я не ошибаюсь, функция переводит из string в integer;
если
except
Извините вы ввели не числа
end;

вобщем логика такова, я на дельфи уже год не пишу, даже больше, подзабыл
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 

  #2934  
Старый 01.03.2009, 20:19
B1ack
Новичок
Регистрация: 12.02.2008
Сообщений: 14
Провел на форуме:
203537

Репутация: 6
Отправить сообщение для B1ack с помощью ICQ
По умолчанию

Простой клиент-сервер,запускается но меседж не выскакивает.Помогите найти ошибку.
Код:
var   
  Form1: TForm1;   
  tserv: TTcpServer;   
  tclient:TTcpClient;   
  t: string;   
  
procedure TForm1.FormCreate(Sender: TObject);   
begin   
  tserv:=TTcpServer.Create(NIL);   
  tserv.LocalPort:='1111';   
  tserv.Active:=True;   
  begin   
    repeat   
    sleep(500);   
    t:=tserv.Receiveln();   
    if t='test' then   
      MessageBox(0, 'test', 'test',0);   
    until true   
  end;   
end;   
  
procedure TForm1.Button1Click(Sender: TObject);   
begin   
  tclient:=TTcpClient.Create(NIL);   
  tclient.RemoteHost:='127.0.0.1';   
  tclient.RemotePort:='1111';   
  tclient.Active:=True;   
end;   
  
procedure TForm1.Button2Click(Sender: TObject);   
begin   
  tclient.Sendln('test');   
end;
 

  #2935  
Старый 01.03.2009, 20:23
AlexTheC0d3r
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме:
1229135

Репутация: 425
Отправить сообщение для AlexTheC0d3r с помощью ICQ
По умолчанию

В паскале надо юзать val(st, int, code), где st- строка, int - целое число, code - код возврата( будет возвращать значение = 0 если нет ошибки, т.е. если у вас в строке чистое число)

гугли дальше
 

  #2936  
Старый 01.03.2009, 20:24
desTiny
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме:
3008839

Репутация: 1502


По умолчанию

Цитата:
Сообщение от W!z@rD  
while(true)
begin
try
забыл уже как на Delphi
Вобщем просто тупо тут пробуешь сделать Val (если я не ошибаюсь, функция переводит из string в integer;
если
except
Извините вы ввели не числа
end;

вобщем логика такова, я на дельфи уже год не пишу, даже больше, подзабыл
проще TryStrToInt )
__________________
Bedankt euch dafür bei euch selbst.

H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
 

  #2937  
Старый 01.03.2009, 20:26
FindeR
Участник форума
Регистрация: 15.11.2006
Сообщений: 259
Провел на форуме:
2589211

Репутация: 151
По умолчанию

Цитата:
Сообщение от W!z@rD  
while(true)
begin
try
забыл уже как на Delphi
Вобщем просто тупо тут пробуешь сделать Val (если я не ошибаюсь, функция переводит из string в integer;
если
except
Извините вы ввели не числа
end;

вобщем логика такова, я на дельфи уже год не пишу, даже больше, подзабыл
Человек просил на Паскале, а не в Дельфи. Разве try-except имеет место в Паскале? Это ж не ООЯП, тут ток run-time error's могут иметь место

А вот насчёт val - это тру =)
Код:
repeat
   readln(mystr);
   Val(mystr, num_int, errorflag);
   if errorflag = 0 then writeln('not a number');
until (errorflag <> 0);
Либо тупо проверяем все символы на принадлежность к [0..9] , но это малясь извращённее)
Нечто типо
Код:
readln(s);
c:=0;
for q:= 0 to length(s) do begin
  for i:=0 to 9 do begin;
  if copy(s,q,1)=IntToStr(i) then c:=c+1;
  end;
end;
if c<>length(s) then writeln('Это не число') else writeln('Это число');
 

  #2938  
Старый 01.03.2009, 20:27
AlexTheC0d3r
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме:
1229135

Репутация: 425
Отправить сообщение для AlexTheC0d3r с помощью ICQ
По умолчанию

Цитата:
Сообщение от B1ack  
Простой клиент-сервер,запускается но меседж не выскакивает.Помогите найти ошибку.
Код:
var   
  Form1: TForm1;   
  tserv: TTcpServer;   
  tclient:TTcpClient;   
  t: string;   
  
procedure TForm1.FormCreate(Sender: TObject);   
begin   
  tserv:=TTcpServer.Create(NIL);   
  tserv.LocalPort:='1111';   
  tserv.Active:=True;   
  begin   
    repeat   
    sleep(500);   
    t:=tserv.Receiveln();   
    if t='test' then   
      MessageBox(0, 'test', 'test',0);   
    until true   
  end;   
end;   
  
procedure TForm1.Button1Click(Sender: TObject);   
begin   
  tclient:=TTcpClient.Create(NIL);   
  tclient.RemoteHost:='127.0.0.1';   
  tclient.RemotePort:='1111';   
  tclient.Active:=True;   
end;   
  
procedure TForm1.Button2Click(Sender: TObject);   
begin   
  tclient.Sendln('test');   
end;
помоему надо пользоваться TTcpServer.ReadLn();
 

  #2939  
Старый 01.03.2009, 20:51
B1ack
Новичок
Регистрация: 12.02.2008
Сообщений: 14
Провел на форуме:
203537

Репутация: 6
Отправить сообщение для B1ack с помощью ICQ
По умолчанию

Цитата:
Сообщение от AlexTheC0d3r  
помоему надо пользоваться TTcpServer.ReadLn();
Undeclared identifier....
 

  #2940  
Старый 01.03.2009, 20:59
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


Отправить сообщение для eLWAux с помощью ICQ
По умолчанию

Функция предназначена дла проверки значения строки:
Код:
type
  TTypeStr = (tsString, tsDate, tsNumber);

function CheckString(const Value: string): TTypeStr;
begin
  if StrToDateTimeDef(Value, 0) = 0 then
    if StrToIntDef(Value, 0) = 0 then
      Result := tsString
    else
      Result := tsNumber
  else
    Result := tsDate
end;
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ