Подскажите как в таком коде сделать чтоб было возможно вводить только целые числа больше 0 Code: procedure TMainForm.Button1Click(Sender: TObject); begin if Length(Edit1.Text) = 0 then begin ShowMessage('Надо ввести состояние нового предмета'); exit; end; kachestvo1:=StrToInt(Edit1.Text); if Length(Edit2.Text) = 0 then begin ShowMessage('Надо ввести состояние предмета по факту'); exit; end; kachestvo2:=StrToInt(Edit2.Text); if Length(Edit3.Text) = 0 then begin ShowMessage('Надо ввести цену нового изделия'); exit; end; cenanovogo:=StrToInt(Edit3.Text); if Length(Edit4.Text) = 0 then begin ShowMessage('Надо ввести размер комисcии'); exit; end; komissija:=StrToInt(Edit4.Text); cenapokupki:=kachestvo1 / kachestvo2 * cenanovogo * (1-komissija/100); Label6.Caption:=FloatToStr(cenapokupki); cenaprodagi:=kachestvo1 / kachestvo2 * cenanovogo; Label8.Caption:=FloatToStr(cenaprodagi); end; с меня + =)
Code: if Length(Edit1.Text) = 0 then begin ShowMessage(Надо ввести состояние нового предмета'); exit; nd; try if strtoint(Edit1.Text)<=0 then begin ShowMessage('Надо ввести число больше 0'); Exit; end; except ShowMessage('Надо ввести целое число!'); Exit; end;
blednii, тебе всё правильно написали! Если будет введено не число то вылезет ошибка ShowMessage('Надо ввести целое число!');
Понял что имеетсо =) в евенте эдита: Code: procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (Key<'0') or (Key>'9') then Key:=chr(0); end; Чуть не забыл, держи с бекспейсом: if ((Key<'0') or (Key>'9')) and (ord(Key)<>8) then Key:=chr(0);
pascal нужно несколько задач простых case a of 1, 21, 31, 41, 51, 61, 71, 81, 91: write ('рубль'); 2..4, 22..24, 32..34, 42..44, 52..54, 62..64, 72..74, 82..84, 92..94: write ('рубля'); 5..20, 25..30, 35..40, 45..50, 55..60, 65..70, 75..80, 85..90, 95..99: write ('рублей'); end; вот придумал только так...но это нерационально очень..... и тем более до 999 Вобще хз. Вот вся задача. За каждую +5
Всем доброго времени суток =) Ещё назрел вопросик -) Есть приложени и web-страница на которой нужно пройти авторизацию чтобы поучить Инфо о сетевом балансе. Если прошла авторизация то программа должна отобразить состояние баланса... Вот вопрос : Через что лучше реализовать и как примерно действовать ? Всем спасибо за ранее =)
через wininet быстро и просто делается. Удобство в том, что поддержка SSL. А некоторые сайты какраз и юзаеют SSL при авторизации.
Я уж за Indy Взялся хотел через HTTP реализовать, но что то мутарно... Спасибо за совет =) Можно ещё немного помощи ? А то я в wininet не особо рулю... Или хотя бы линк на справку по нему =) Заранее благодарен =)
Неа, разве что проверку первого нуля, но эт так, для красоты... >> Вопросец... имеем уже авторизированное окно деда (mstsc) , ищем его Code: ter:=FindWindow(nil,pchar(host+' - Удаленный рабочий стол')); if ter<>0 then begin okno:=FindWindowEx(ter,0,nil,nil); while okno<>0 do begin GetClassName(okno,s,100); Form1.Memo1.Lines.Add(s); okno:=GetNextWindow(okno,GW_HWNDNEXT); end; Имеем основное окно ter и дочернее okno с классом TSCAXHOST , нужно послать нажатие Esc , пробую: PostMessage(ter,WM_SYSKEYDOWN,VK_ESCAPE,0); PostMessage(okno,WM_SYSKEYDOWN,VK_ESCAPE,0); не жмет.. ( Как и какому именно окну в данном случае нужно слать нажатие кнопки?
#Wolf# Code: var r: string; s: Char; begin Readln(r); s := r[Length(r)]; if r[Length(r)-1] = '1' then Writeln(r+' рублей') else if s = '1' then Writeln(r+' рубль') else if (s = '2') or (s = '3') or (s = '4') then Writeln(r+' рубля') else Writeln(r+' рублей'); end;
blednii Code: procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (Key in ['0'..'9']) then if Key <> #8 then Key := #0; end;
МongBa†, попробуй SetForegroundWindow(okno), а потом: keybd_event(27, 0, 0, 0); keybd_event(27, 0, KEYEVENTF_KEYUP, 0);
Не катит, окно становится активным но без нажатий... с другими окнами все проходит... видать здесь каверз непосредственно с Удаленным рабочим столом , мож кто сталкивался?
Канает только для ter, кстати его класс TSSHELLWND В предыдущем варианте SetForegroundWindow(ter); keybd_event(27, 0, 0, 0); keybd_event(27, 0, KEYEVENTF_KEYUP, 0); И задержки расставлял, и кнопки менял - безуспешно, при чем сразу после выполнения кода я вручную нажал Esc и он сканал
ВиньХР СП2 выполнить - mstsc (mstsc.exe mstscax.dll версии 6.0.6000.16386) сервера: Code: 202.171.79.128:3389 62.208.74.243:3389 216.139.166.111:3389 200.14.52.87:3389 210.7.7.84:3389 114.129.25.212:3389 88.83.0.226:3389 216.139.166.81:3389 195.219.65.148:3389 202.3.242.196:3389 81.18.226.126:3389 123.50.85.52:3389 123.50.85.1:3389 202.3.245.61:3389 115.84.65.112:3389 208.66.48.194:3389 41.202.167.24:3389 Логинов пассов не знаю, собсно и состоит задача в том чтоб написать свежий многопотоковый брут на новом клиенте, заметил что актуальный на данный момент tss-brute - частенько пропускает верные пароли. Логинимся, и требуется в появившемся окне "127.11.22.33 - Подлючение к удаленному рабочему столу" нажать 2 раза Esc .