Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

RE: Решение задач на Паскале и Delphi

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> RE: Решение задач на Паскале и Delphi
Имя
Сообщение << Старые топики   Новые топики >>
RE: Решение задач на Паскале и Delphi - 2009-07-23 13:34:40.016666   
raven314

Сообщений: 101
Оценки: 0
Присоединился: 2008-11-02 11:03:05.490000
ребят, можете объяснить что такое UnDelphiX, для чего нужен и как с ним работать.
прошу, с самого простейщего, в плоть до того, какисм образом его импортировать в дельфи.
стоит дельфи 7.
прошу подробный мануал.
заранее спасибо.)
Post #: 401
RE: Решение задач на Паскале и Delphi - 2009-07-23 15:12:43.653333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
http://lmgtfy.com/?q=UnDelphiX
Post #: 402
RE: Решение задач на Паскале и Delphi - 2009-07-24 16:43:50.073333   
raven314

Сообщений: 101
Оценки: 0
Присоединился: 2008-11-02 11:03:05.490000
на одном из форумов посоветовали использовать "dglEngine" для работы с графикой.
скачал архив, в котором были все компоненты и примеры.
скинул ВСЕ компоненты в папку lib лежащую в дериктории с дельфи.
так вот. как мне этими элементами пользоваться? раскрыв дельфи (7 версия) я немогу найти компоненты движка на панелях =/
что делать, помогите, мануала по подобному ненашел, ибо это слишком элементарно. а я незнаю "D
ай нид хелп.)
Post #: 403
RE: Решение задач на Паскале и Delphi - 2009-08-08 14:20:36.053333   
sizwar

Сообщений: 6
Оценки: 0
Присоединился: 2009-06-16 09:41:48.580000
Парни посоветуйте пожалуйста компонент для работы с COM портом а то я нечего немого найти работаю сейчас компонентом COMPORT а он роботает только с первые 20 портов а мне примерно нужно чтобы программа работала с 197 портами. Пробовал ставить Comm32 он у меня не пошел у меня Delphi 6 уже не знаю что делать.


Заранее спасибо!
Post #: 404
RE: Решение задач на Паскале и Delphi - 2009-08-17 20:58:55.480000   
Alexandr617

Сообщений: 104
Оценки: 0
Присоединился: 2008-01-12 00:53:55.466666
Всем привет!
Прашу памочь мне. У меня в порога нормально хеширует MD5 когда небольшое слово вводиш (рис.1) а когда начинаеш вводить большие слова то прога начинает неправильно хешировать (рис.2)

Для проверки своей проги я использовал DAMN_HashCalc

Памагите исправить ошибку. плиз



unit Unit1; interface uses Windows, SysUtils, Classes, Graphics, Forms, XPMan, ShellAPI, Controls, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; XPManifest1: TXPManifest; EHash: TEdit; Label1: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Umd5; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if trim(Edit1.Text)&lt;&gt;'' then EHash.Text:=md5(trim(Edit1.Text)); end; end.

unit Umd5; interface uses Windows, SysUtils; type THash = DWord; function md5 (buf: string): string; implementation var HEX: array[Word] of string; function LRot32 (a, b: LongWord): LongWord; asm mov ecx, edx rol eax, cl end; function md5 (buf: string): string; type pint = ^Integer; tdata = array [0..15] of DWORD; pdata = ^tdata; tbyte = array [0..15] of byte; pbyte = ^tbyte; var i, Len: Integer; data: pdata; CurrentHash: array[0..3] of DWord; P: array[0..7] of Word absolute CurrentHash; A, B, C, D: DWord; begin Len := Length (buf); SetLength (buf, 64); buf[Len+1] := #$80; FillChar (buf[Len+2], 63 - Len, 0); pint (@buf[57])^ := Len * 8; CurrentHash[0] := $67452301; CurrentHash[1] := $efcdab89; CurrentHash[2] := $98badcfe; CurrentHash[3] := $10325476; A := CurrentHash[0]; B := CurrentHash[1]; C := CurrentHash[2]; D := CurrentHash[3]; data := addr (buf[1]); A := B + LRot32 (A + (D xor (B and (C xor D))) + data^[ 0] + $d76aa478, 7); D := A + LRot32 (D + (C xor (A and (B xor C))) + data^[ 1] + $e8c7b756, 12); C := D + LRot32 (C + (B xor (D and (A xor B))) + data^[ 2] + $242070db, 17); B := C + LRot32 (B + (A xor (C and (D xor A))) + data^[ 3] + $c1bdceee, 22); A := B + LRot32 (A + (D xor (B and (C xor D))) + data^[ 4] + $f57c0faf, 7); D := A + LRot32 (D + (C xor (A and (B xor C))) + data^[ 5] + $4787c62a, 12); C := D + LRot32 (C + (B xor (D and (A xor B))) + data^[ 6] + $a8304613, 17); B := C + LRot32 (B + (A xor (C and (D xor A))) + data^[ 7] + $fd469501, 22); A := B + LRot32 (A + (D xor (B and (C xor D))) + data^[ 8] + $698098d8, 7); D := A + LRot32 (D + (C xor (A and (B xor C))) + data^[ 9] + $8b44f7af, 12); C := D + LRot32 (C + (B xor (D and (A xor B))) + data^[10] + $ffff5bb1, 17); B := C + LRot32 (B + (A xor (C and (D xor A))) + data^[11] + $895cd7be, 22); A := B + LRot32 (A + (D xor (B and (C xor D))) + data^[12] + $6b901122, 7); D := A + LRot32 (D + (C xor (A and (B xor C))) + data^[13] + $fd987193, 12); C := D + LRot32 (C + (B xor (D and (A xor B))) + data^[14] + $a679438e, 17); B := C + LRot32 (B + (A xor (C and (D xor A))) + data^[15] + $49b40821, 22); A := B + LRot32 (A + (C xor (D and (B xor C))) + data^[ 1] + $f61e2562, 5); D := A + LRot32 (D + (B xor (C and (A xor B))) + data^[ 6] + $c040b340, 9); C := D + LRot32 (C + (A xor (B and (D xor A))) + data^[11] + $265e5a51, 14); B := C + LRot32 (B + (D xor (A and (C xor D))) + data^[ 0] + $e9b6c7aa, 20); A := B + LRot32 (A + (C xor (D and (B xor C))) + data^[ 5] + $d62f105d, 5); D := A + LRot32 (D + (B xor (C and (A xor B))) + data^[10] + $02441453, 9); C := D + LRot32 (C + (A xor (B and (D xor A))) + data^[15] + $d8a1e681, 14); B := C + LRot32 (B + (D xor (A and (C xor D))) + data^[ 4] + $e7d3fbc8, 20); A := B + LRot32 (A + (C xor (D and (B xor C))) + data^[ 9] + $21e1cde6, 5); D := A + LRot32 (D + (B xor (C and (A xor B))) + data^[14] + $c33707d6, 9); C := D + LRot32 (C + (A xor (B and (D xor A))) + data^[ 3] + $f4d50d87, 14); B := C + LRot32 (B + (D xor (A and (C xor D))) + data^[ 8] + $455a14ed, 20); A := B + LRot32 (A + (C xor (D and (B xor C))) + data^[13] + $a9e3e905, 5); D := A + LRot32 (D + (B xor (C and (A xor B))) + data^[ 2] + $fcefa3f8, 9); C := D + LRot32 (C + (A xor (B and (D xor A))) + data^[ 7] + $676f02d9, 14); B := C + LRot32 (B + (D xor (A and (C xor D))) + data^[12] + $8d2a4c8a, 20); A := B + LRot32 (A + (B xor C xor D) + data^[ 5] + $fffa3942, 4); D := A + LRot32 (D + (A xor B xor C) + data^[ 8] + $8771f681, 11); C := D + LRot32 (C + (D xor A xor B) + data^[11] + $6d9d6122, 16); B := C + LRot32 (B + (C xor D xor A) + data^[14] + $fde5380c, 23); A := B + LRot32 (A + (B xor C xor D) + data^[ 1] + $a4beea44, 4); D := A + LRot32 (D + (A xor B xor C) + data^[ 4] + $4bdecfa9, 11); C := D + LRot32 (C + (D xor A xor B) + data^[ 7] + $f6bb4b60, 16); B := C + LRot32 (B + (C xor D xor A) + data^[10] + $bebfbc70, 23); A := B + LRot32 (A + (B xor C xor D) + data^[13] + $289b7ec6, 4); D := A + LRot32 (D + (A xor B xor C) + data^[ 0] + $eaa127fa, 11); C := D + LRot32 (C + (D xor A xor B) + data^[ 3] + $d4ef3085, 16); B := C + LRot32 (B + (C xor D xor A) + data^[ 6] + $04881d05, 23); A := B + LRot32 (A + (B xor C xor D) + data^[ 9] + $d9d4d039, 4); D := A + LRot32 (D + (A xor B xor C) + data^[12] + $e6db99e5, 11); C := D + LRot32 (C + (D xor A xor B) + data^[15] + $1fa27cf8, 16); B := C + LRot32 (B + (C xor D xor A) + data^[ 2] + $c4ac5665, 23); A := B + LRot32 (A + (C xor (B or (not D))) + data^[ 0] + $f4292244, 6); D := A + LRot32 (D + (B xor (A or (not C))) + data^[ 7] + $432aff97, 10); C := D + LRot32 (C + (A xor (D or (not B))) + data^[14] + $ab9423a7, 15); B := C + LRot32 (B + (D xor (C or (not A))) + data^[ 5] + $fc93a039, 21); A := B + LRot32 (A + (C xor (B or (not D))) + data^[12] + $655b59c3, 6); D := A + LRot32 (D + (B xor (A or (not C))) + data^[ 3] + $8f0ccc92, 10); C := D + LRot32 (C + (A xor (D or (not B))) + data^[10] + $ffeff47d, 15); B := C + LRot32 (B + (D xor (C or (not A))) + data^[ 1] + $85845dd1, 21); A := B + LRot32 (A + (C xor (B or (not D))) + data^[ 8] + $6fa87e4f, 6); D := A + LRot32 (D + (B xor (A or (not C))) + data^[15] + $fe2ce6e0, 10); C := D + LRot32 (C + (A xor (D or (not B))) + data^[ 6] + $a3014314, 15); B := C + LRot32 (B + (D xor (C or (not A))) + data^[13] + $4e0811a1, 21); A := B + LRot32 (A + (C xor (B or (not D))) + data^[ 4] + $f7537e82, 6); D := A + LRot32 (D + (B xor (A or (not C))) + data^[11] + $bd3af235, 10); C := D + LRot32 (C + (A xor (D or (not B))) + data^[ 2] + $2ad7d2bb, 15); B := C + LRot32 (B + (D xor (C or (not A))) + data^[ 9] + $eb86d391, 21); Inc (CurrentHash[0], A); Inc (CurrentHash[1], B); Inc (CurrentHash[2], C); Inc (CurrentHash[3], D); Result := StrLower(PChar(HEX[P[0]])); for i := 1 to 7 do Result := Concat (Result, StrLower(PChar(HEX[P[i]]))); end; var DEC, Tmp: Integer; LH: string; initialization for DEC := 0 to $ffff do begin Tmp := DEC and $ff; LH := IntToHex (Tmp, 2); Tmp := DEC shr 8; HEX[DEC] := Concat (LH, IntToHex (Tmp, 2)); end; end.

Вот ссылка на скрины: http://dump.ru/file/3252486

Скрины я несмог здесь выложить всевремя выводилось сообщение:

quote:

&lt;forum.xakep.ru&gt;

Не заполнены все требуемые поля!
Post #: 405
RE: Решение задач на Паскале и Delphi - 2009-08-28 13:34:00.250000   
Snipe3002

Сообщений: 1
Оценки: 0
Присоединился: 2008-12-30 23:23:08.633333
Возникло такое затруднение
надо написать прогу, производящую операции над матрицами. Я торможу на их умножении.
Ввод первой -через StringGrid1
Ввод второй - через StringGrid2
Вывод результатов - через StringGrid3
Количество столбцов первой матрицы определяется через
UpDown1.position
Количество ее строк через
UpDown2.Position
Количество строк второй матрицы - через UpDown3.position.
Все вместе это выглядит как-то так
1) Получаем первую матрицу
for i:=0 to Form1.UpDown2.Position - 1 do begin for j:=0 to Form1.Updown1.Position-1 do begin n[i][j]:=StrToFloat(Form1.StringGrid1.Cells[i,j]); end; end; 2) Получаем вторую
for j:=0 to Form1.UpDown3.Position - 1 do begin for k:=0 to Form1.Updown2.Position-1 do begin m[j][k]:=StrtoFloat(form1.StringGrid2.Cells[j,k]); end; end;
3)Считаем:
for i:=0 to UpDown3.Position-1 do begin for j:=0 to UpDown1.Position-1 do begin for k:=0 to UpDown2.position-1 do begin s[i][j]:=n[i][k]*m[k][j] ; s[i][j]:=s[i][j]+n[i][k]*m[k][j]; end; end; end;
4) Выводим результаты
for i:=0 to UpDown2.Position-1 do begin for j:=0 to UpDown2.Position-1 do begin StringGrid3.Cells[i,j]:=FloatToStr(s[i][j]); end; end;
Тут где-то ошибки у меня, а какие- ни фига не могу скумекать. Помогите разобраться, bitte.
Post #: 406
RE: Решение задач на Паскале и Delphi - 2009-08-28 14:35:32.430000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Объявления массивов покажи
Post #: 407
RE: Решение задач на Паскале и Delphi - 2009-08-28 15:05:32.680000   
kreol

Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
3) ... for i := 0 to UpDown2.position - 1 do &nbsp;&nbsp; s[i][j] := n[i][k] * m[k][j];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // ошибка здесь &nbsp;&nbsp; s[i][j] := s[i][j] + n[i][k] * m[k][j]; end; ... Ну попробуй сам себе объяснить, что происходит в этом твоём цикле, и почему указанная мной строчка лишняя.
Post #: 408
RE: Решение задач на Паскале и Delphi - 2009-08-28 15:10:11.440000   
kreol

Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
Да, и плюс массивы нужно инициализировать нулями.
Post #: 409
RE: Решение задач на Паскале и Delphi - 2009-08-28 16:35:56.736666   
=OutlaW=

Сообщений: 382
Оценки: 0
Присоединился: 2009-01-08 17:19:13.703333
Тупой вопрос, но все же я не нашел ответа.
Вот при нажатии на батон запускается процедура обработчик этого события, например происходят вычисления.
Как сделать чтобы при нажатии на другую кнопку эта процедура останавливалась и/или приостанавливалась? 
Post #: 410
RE: Решение задач на Паскале и Delphi - 2009-08-28 16:53:51.406666   
VaZoNeZ

Сообщений: -6758
Оценки: 0
Присоединился: 2008-10-31 14:38:43.796666
Сделай что-то вроде переключателя - заведи переменную типа boolean, например. Одной кнопкой меняй значение, а другой проверяй.
Post #: 411
RE: Решение задач на Паскале и Delphi - 2009-08-28 17:03:44.693333   
kreol

Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
Самый простой способ - вести переменную типа boolean, которую проверять в цикле в первой процедуре-обработчике событий, и если она равна false, останавливать обработку. Во второй процедуре (по нажатию второй кнопки) просто менять это значение.
Post #: 412
RE: Решение задач на Паскале и Delphi - 2009-08-28 19:21:21.803333   
r[oo]t

Сообщений: 36
Оценки: 0
Присоединился: 2009-08-13 05:56:26.320000
как вариант можно еще усложнить и сделать на потоках, тогда все чики пуки будет=)) но гемору поольше.
Post #: 413
RE: Решение задач на Паскале и Delphi - 2009-08-28 19:42:25.960000   
kreol

Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666

quote:

ORIGINAL: r[oo]t

как вариант можно еще усложнить и сделать на потоках, тогда все чики пуки будет=)) но гемору поольше.

Потоки в любом случае должны быть, ибо если всё делать в один поток, то как только начнёт работать первый обработик, приложение зависнет и будет ждать, пока он не отработает.
Или ты имеешь ввиду прерывать поток извне? Так это чревато дополнительными ограничениями в самом прерываемом потоке. В частности, при насильном прерывании потока он может не успеть отдать системе испльзуемые ресурсы.
Post #: 414
RE: Решение задач на Паскале и Delphi - 2009-08-30 00:53:45.220000   
slardan

Сообщений: 1
Оценки: 0
Присоединился: 2009-08-30 00:21:17.650000
Народ помогите плизз решить задачу!!! сам вобще почти не бум бум…

Задача:
Даны натуральное число n,последовательность S1,…,Sn. Преобразовать данную последовательность,заменив точку многоточием(т.е. тремя точками)

Сам с помошью другана пытались сделать но чет не получаеться вот примерное решение наверное:

Program Mnogotochie;
const n=100;
Var st: string[n];
k: integer;
Begin
writeln(' ');
readln(st);
while k<> length(st) do
begin
if st[k]='.' then while(st[k+(-1)='…') and (k> length(st)) do delete(st,k+(-1),(-1); вот сдесь курсор мигает когда запускаю))
k:=k+(-1)
end;
writeln(' ')
End.
Post #: 415
RE: Решение задач на Паскале и Delphi - 2009-08-30 15:12:23.733333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
var src, dst:string; i:integer; begin readln( src ); for i := 1 to Length( src ) do if src[i] = '.' then dst := dst + '...' else dst := dst + src[i]; writeln( dst ); readln; end.
Post #: 416
RE: Решение задач на Паскале и Delphi - 2009-09-14 15:13:55.936666   
Bilargo

Сообщений: 17
Оценки: 0
Присоединился: 2009-09-12 11:13:50.780000
Всем доброго времени суток, в общем у меня такая загвоздка, я учусь на управленца, и мне по несчастному року судьбы поставили добавили в курс программирование, вот сейчас сижу парюсь, уже 2ой час рою инфу насчет одной задачки, но ничего не понимаю. В общем необходимо создать процедуру, которая будет считать кол-во слов в тексте, ну или пробелы, пытался через Pos, но в итоге пришел только, к тому, что он считывает символы до этого пробела, читал ещё что с помощью while можно здесь как-то выкрутиться, но ничего не знаю про него, может кто-нибудь подсказать, или объяснить, как все таки сделать?
Вообще исходный текст задачи таков:
Написать программу, вычисляющую стоимость телеграммы по формуле: Стоимость_телеграммы = Количество_слов*Стоимость_слова + Доплата.
Входные данные: текст телеграммы (с адресом), стоимость одного слова и величина доплаты (вводятся пользователем).
Выходные данные: стоимость телеграммы в формате &nbsp;*** руб., ***коп.
Определение количества слов в тексте телеграммы оформить в виде подпрограммы (процедуры или функции)

Вот из этого всего не знаю, только как со строками разобраться.
Post #: 417
RE: Решение задач на Паскале и Delphi - 2009-09-14 15:29:30.850000   
Bilargo

Сообщений: 17
Оценки: 0
Присоединился: 2009-09-12 11:13:50.780000
Так, отбой тревоги, додумался сам.

procedure TForm1.mmoChange(Sender: TObject);
var
  i,count:Integer;
begin
count:=0;
for i:=1 to Length(mmo.Text) do
if mmo.Text=' ' then
count:=count+1;

Но столкнулся с некоторым явлением, таким как например 2 пробела рядом, что с этим можно сделать? Как исключить такой вариант?
Post #: 418
RE: Решение задач на Паскале и Delphi - 2009-09-14 15:47:37.016666   
QunneD

Сообщений: 833
Оценки: 0
Присоединился: 2008-11-09 20:54:38.113333
quote:

ну или пробелы, пытался через Pos, но в итоге пришел только, к тому, что он считывает символы до этого пробела, читал ещё что с помощью while можно здесь как-то выкрутиться, но ничего не знаю про него, может кто-нибудь подсказать, или объяснить, как все таки сделать?


function GetSpaces(str : String):Integer;
var
i,f : integer;
s : string;
begin
for i := 0 to length(str) do
begin
f := pos(' ', str);
if f &gt; 0 then
begin
delete(str,1,f);
s := s+' ';
end;
end;
result := length(s);
end;
Post #: 419
RE: Решение задач на Паскале и Delphi - 2009-09-14 17:35:46.723333   
Bilargo

Сообщений: 17
Оценки: 0
Присоединился: 2009-09-12 11:13:50.780000
Хм…вот ещё одна загвоздка…
Написал 2 процедуры, одну procedure TForm1.mmoChange(Sender: TObject); и вторую procedure TForm1.btn1Click(Sender: TObject); но не могу завершить вторую, так как в ней нужно использовать результаты первой, как их связать или установить связь между этими значениями?
Post #: 420
RE: Решение задач на Паскале и Delphi - 2009-09-14 19:03:32.410000   
QunneD

Сообщений: 833
Оценки: 0
Присоединился: 2008-11-09 20:54:38.113333
Создать глобальную переменную?
Post #: 421
RE: Решение задач на Паскале и Delphi - 2009-09-14 19:23:41.576666   
Bilargo

Сообщений: 17
Оценки: 0
Присоединился: 2009-09-12 11:13:50.780000
Если честно не имею преставления о чем ты, ну смотри, ситуация такая, вот тогда я посчитал кол-во пробелов(слов), а теперь мне надо эту функцию, или переменную импортировать в другую процедуру, которая уже срабатывает при нажатии на копку.
Post #: 422
RE: Решение задач на Паскале и Delphi - 2009-09-14 20:07:08.986666   
VaZoNeZ

Сообщений: -6758
Оценки: 0
Присоединился: 2008-10-31 14:38:43.796666
quote:

Если честно не имею преставления о чем ты

Ну и куда с такими знаниями лезть в дельфи? Начни с чего-нибуть попроще…
Post #: 423
RE: Решение задач на Паскале и Delphi - 2009-09-14 20:21:15.100000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: QunneD

Создать глобальную переменную?


вот в этом месте стоило бы грязно выругаться
Post #: 424
RE: Решение задач на Паскале и Delphi - 2009-09-15 09:05:20.550000   
Bilargo

Сообщений: 17
Оценки: 0
Присоединился: 2009-09-12 11:13:50.780000
Да друзья поймите, мне программирование как снег на голову свалилось, я учусь даже не на математика, я гуманитарий до кончиков своей души =) И всё эти логические процессы у меня с трудом укладываются в голове, если не вызывают помутнение рассудка)
Я понимаю, здесь нет ничего сверх сложного, просто я не знаю с помощью каких операторов, можно выполнить мою задачу, с помощью чего можно связать 2 процедуры? Т.е. результат другой процедуры зависит от уже известного рез-та этой.
Так, что я бы рад не лезть с такими знаниями в дельфи, но выбора у меня другого нет, не я составляю программу курса, я лишь её выполняю =)
Post #: 425
RE: Решение задач на Паскале и Delphi - 2009-09-15 11:09:51.286666   
Bilargo

Сообщений: 17
Оценки: 0
Присоединился: 2009-09-12 11:13:50.780000
Всё, сделал сам =)) Оказывает не совсем критическая у меня нехватка знаний)
Post #: 426
RE: Решение задач на Паскале и Delphi - 2009-09-16 16:16:58.680000   
Bilargo

Сообщений: 17
Оценки: 0
Присоединился: 2009-09-12 11:13:50.780000
Привет всем, это снова я, с новой бедой, т.с. пожаловал я =)
Пытаюсь написать простенький калькулятор, который только складывает и вычитает, ну со сложением все понятно:

procedure TForm1.btn10Click(Sender: TObject);
begin
a:=StrToInt(edt1.Text);
edt1.Text:='0';
end;

procedure TForm1.btn15Click(Sender: TObject);
begin
edt1.Text:=IntToStr(StrToInt(edt1.Text)+a)
end;

А вот как сделать вычитание? Нужно ли создавать новую процедуру? Или как-то модернизировать существующую? Подскажите ребят.
Post #: 427
RE: Решение задач на Паскале и Delphi - 2009-09-16 16:34:12.966666   
D. Scandal

Сообщений: 1360
Оценки: 345
Присоединился: 2007-12-01 16:39:35.550000
Все точно так же. Единственная разница в самой арифметической операции. Используй вместо операции сложения, операцию вычитания.
Post #: 428
RE: Решение задач на Паскале и Delphi - 2009-09-16 16:37:17.670000   
Bilargo

Сообщений: 17
Оценки: 0
Присоединился: 2009-09-12 11:13:50.780000

Ну это то понятно, только вот как это оформить? 2 процедуры ведь нельзя для 1ой кнопки равно? Может надо задать условия? При выполнении процедуры?
Post #: 429
RE: Решение задач на Паскале и Delphi - 2009-09-16 17:21:13.876666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Можно, если нужно, переставай мыслить линейно. Запоминай где-нибудь "текущую" арифметическую операцию, а когда нажимается "равно" - то в зависимости от операции делай нужное действие.
Post #: 430
RE: Решение задач на Паскале и Delphi - 2009-09-16 17:32:56.683333   
Bilargo

Сообщений: 17
Оценки: 0
Присоединился: 2009-09-12 11:13:50.780000

Ммм… ну я примерно это и пытаюсь сделать. Ввел 2ую переменную для случая с минусом, но не знаю как правильней задать условия.

procedure TForm1.btn10Click(Sender: TObject);
begin
a:=StrToInt(edt1.Text);
edt1.Text:='0';
end;
procedure TForm1.btn6Click(Sender: TObject);
begin
b:=StrToInt(edt1.Text);
edt1.Text:='0';
end;

procedure TForm1.btn15Click(Sender: TObject);
begin
if ——как здесь сделать?—- then // пробовал здесь ставить a>0, но почему-то ответ при операции с минусом, выдавался именно с минусом, т.е. 9-6=-3.
edt1.Text:=IntToStr(StrToInt(edt1.Text)+a) else
edt1.Text:=IntToStr(StrToInt(edt1.Text)-b)
end;

Post #: 431
RE: Решение задач на Паскале и Delphi - 2009-09-16 20:14:58.823333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Слушай, убейся…

Ты можешь хотя-бы нормальные имена методам давать?

Причём тут a > 0 ?! - тебе нужно сравнивать ЗНАКИ а не сами числа.
Post #: 432
RE: Решение задач на Паскале и Delphi - 2009-09-16 22:23:56.923333   
Bilargo

Сообщений: 17
Оценки: 0
Присоединился: 2009-09-12 11:13:50.780000

Это ты меня слушай последний этап эволюции, или компьютерный червь, я программирую всего 3 дня своей жизни по несчастной воле методистов, которые вклинили мне этот предмет, да он мне нужен не больше чем козе баян, а такие уникумы как ты вместо того, чтобы разъяснить(как казалось бы), только отбивают на прочь все желание, кое и без того практически отсутствует. На мой взгляд кому и надо убиться дак это тебе, видимо избыток знаний слишком давит на твой рассудок.
И вообще ради чего существует эта тема?! Только базарите не по делу!
Мне тут пока ещё никто ничего дельного не подсказал на доступном мне языке.
Post #: 433
RE: Решение задач на Паскале и Delphi - 2009-09-16 23:50:36.320000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: Bilargo

Это ты меня слушай последний этап эволюции, или компьютерный червь, я программирую всего 3 дня своей жизни по несчастной воле методистов, которые вклинили мне этот предмет, да он мне нужен не больше чем козе баян, а такие уникумы как ты вместо того, чтобы разъяснить(как казалось бы), только отбивают на прочь все желание, кое и без того практически отсутствует. На мой взгляд кому и надо убиться дак это тебе, видимо избыток знаний слишком давит на твой рассудок.
И вообще ради чего существует эта тема?! Только базарите не по делу!


quote:

ORIGINAL: Bilargo

Мне тут пока ещё никто ничего дельного не подсказал на доступном мне языке.


ты уверен, что ты правда этого хочешь?
Post #: 434
RE: Решение задач на Паскале и Delphi - 2009-09-17 12:34:59.646666   
QunneD

Сообщений: 833
Оценки: 0
Присоединился: 2008-11-09 20:54:38.113333
Bilargo, давай без обид. здесь тебе не форум чайников, где помогают делать калькуляторы. Тебе сюда http://programmersforum.ru. А теперь по поводу твоих вопросов.

var
a : real;
begin
a := 2+2-2*2/2;
showmessage(floattostr(a));
end;

к дополнению, больше 3 эдитов и одной кнопки тебе не понадобиться.
первый эдит и третий будут предназначены для ввода значений. второй эдит будет предназначен для узнавания какой тип операции проводить, например:

Procedure TForm1.Button1Click(Sender: TObject);
Var
A : Real;
Begin
If (Edit2.Text = '+') Then
Begin
A := StrToFloat(Edit1.Text)+StrToFloat(Edit3.Text);
ShowMessage('Результат: '+FloatToStr(A));
End
Else If (Edit2.Text = '-') Then
Begin
A := StrToFloat(Edit1.Text)-StrToFloat(Edit3.Text);
ShowMessage('Результат: '+FloatToStr(A));
End;
End;

Надеюсь больше глупых вопросов от тебя не будет
Post #: 435
RE: Решение задач на Паскале и Delphi - 2009-09-17 13:39:16.580000   
Bilargo

Сообщений: 17
Оценки: 0
Присоединился: 2009-09-12 11:13:50.780000

Спасибо Qunned, да нету не каких обид, я понимаю я в этом не силен, и вопросы которые для меня имеют первичное значение, вам исходя из вашего уровня знаний кажутся весьма не существенными, вот только выражать это нужно в более терпимой форме, чему бы я посоветовал, поучится сударю Saz(y), потому-что "грязи" и так хватает, без его нервных окриков.
Ну в общем всего хорошего вам ребята ;)

Post #: 436
RE: Решение задач на Паскале и Delphi - 2009-09-17 15:12:43.030000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
quote:

ORIGINAL: Bilargo
вот только выражать это нужно в более терпимой форме, чему бы я посоветовал, поучится сударю Saz(y), потому-что "грязи" и так хватает, без его нервных окриков.
Ну в общем всего хорошего вам ребята ;)


Это была попытка радикально-экстримальным способом отвернуть тебя от пути по которому ты идёшь. Основываясь на формошлёпстве, при этом даже ленясь переименовывать стандартные названия типа button1048576, ты ничему не научишься. Подробнее почему - уже сто раз писали. Полистай форум.
Post #: 437
RE: Решение задач на Паскале и Delphi - 2009-09-17 16:05:48.076666   
Doom_Rooster

Сообщений: 2
Оценки: 0
Присоединился: 2008-12-03 22:58:59.100000
Здравствуйте.
Мне нужно, чтобы программа соединялась с некоторым сайтом в интернете, вводила в поля на нем некоторую информацию и нажимала на кнопки, либо напрямую отправляла запрос. Например я хочу чтобы моя прога сама на рамблере вводила мой логин и пароль и заходила на почту.
Подскажите пожалуйста, какие средства необходимо для этого использовать!!!
Post #: 438
RE: Решение задач на Паскале и Delphi - 2009-09-17 16:21:15.846666   
vzadnikov

Сообщений: 82
Оценки: 0
Присоединился: 2009-07-01 02:27:18.446666
Самое простое это использовать компонент класса TidHTTP. Посложнее - сокет.

Отпрака запроса: HTTP.Post(….)
Post #: 439
RE: Решение задач на Паскале и Delphi - 2009-09-17 16:22:01.186666   
Bilargo

Сообщений: 17
Оценки: 0
Присоединился: 2009-09-12 11:13:50.780000
quote:

Это была попытка радикально-экстримальным способом отвернуть тебя от пути по которому ты идёшь. Основываясь на формошлёпстве, при этом даже ленясь переименовывать стандартные названия типа button1048576, ты ничему не научишься. Подробнее почему - уже сто раз писали. Полистай форум.


Сударь, вам стоит узнать людей получше, прежде чем делать столь скорые ошибочные суждения на их счет, ваша попытка как вы видите не увенчалась успехом, поэтому пересмотрите свои методы, ради вашего же блага. И проявляйте терпимость в конце концов.
Я знаю, что я ничему не научусь, если буду слушать таких некчемных советодателей, как - ВЫ. И к слову о лености, я как только научился "ходить" сразу повелению судьбы удалил один очень вредный орган, который присутствует в теле каждого биологического индивида от его рождения, он называется - ЛЕНЬ!
Не переименовываю я стандартные названия компонентов, потому-что я люблю симметрию, и мне так удобней, а не потому-что я ленивый!
Надеюсь больше я от вас сообщений в мой адрес не увижу.

Post #: 440
Страниц:  1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
Все форумы >> [Компилируемые языки] >> RE: Решение задач на Паскале и Delphi







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.