![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
На форме 1 кнопка,1 надпись,1 едит и 1 мемо.Вводится строка из нескольких слов
и чисел,разделенных неопределенным числом пробелов.Выбрать 1 встретившееся в строке число и вывести в мемо таблицу умножения этого числа на 1-10.Результат умножения двух 1х в строке чисел вывести в надпись.Отдельная кнопка - очистка мемо. Вводится в едит строка. Пример строки: Const ! 56 q wert 765.3 -5 tyr. Надо считать 56 и закинуть знач. в переменную. И в мемо через цикл от 1 до 10 произвести умнож. данного числа. Пример: 56*1=56 56*2=112 56*3=268 ... 56*9=504 56*10=560 И в напдись вывести 2 первых числа. Пример: 56 102 И сделать отдельную кнопку - очистка мемо. Вот мой неполный набросок кода. А как дальше доделать ? Код:
unit Unit1;
interface
uses
Windows,XPMan, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
btn1: TButton;
lbl1: TLabel;
mmo1: TMemo;
edt1: TEdit;
procedure edt1Enter(Sender: TObject);
procedure lbl1Click(Sender: TObject);
private
s: string;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i,chislo,x,n: Integer;
implementation
{$R *.dfm}
procedure TForm1.edt1Enter(Sender: TObject);
begin
s:=edt1.text;
x:=strtoint(s);
for i:=1 to n do
if x in [0..9] then x:=chislo;
ord(chislo);
end;
procedure TForm1.lbl1Click(Sender: TObject);
begin
caption:=chislo;
end;
end. |
|
#2
|
|||
|
|||
|
1. Тебе надо парсить введенную строку, а не пытаться всю ее преобразовать в число.
2. Всю обработку надо делать в одном обработчике нажатия кнопки, например. 3. Вывод в Memo: Memo1.Lines.Add(строка), соответсвенно, после умножения надо конвертировать результат в строку. 4. n у тебя не инициализированно. 5. Очистка Memo: Memo1.Lines.Clear; 6. И вообще, в коде у тебя какой-то бред написан. |
|
#3
|
|||
|
|||
|
Ок, а как с нуля начать ?
|
|
#4
|
||||
|
||||
|
Ну вот вам код на шару
![]() Код:
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm7 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Memo1: TMemo;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
end;
var
Form7: TForm7;
implementation
{$R *.dfm}
procedure TForm7.Button1Click(Sender: TObject);
begin
Memo1.Clear;
end;
procedure TForm7.Edit1Exit(Sender: TObject);
Var
i: Integer;
Num: String;
begin
for i := 1 to Length(Edit1.Text)
do if Edit1.Text[i] in ['0'..'9']
then Break;
Num := '';
for i := i to Length(Edit1.Text)
do if Edit1.Text[i] in ['0'..'9']
then Num := Num + Edit1.Text[i]
else Break;
if Num = '' then Exit;
Label1.Caption := '';
for i := 1 to 10
do begin
Memo1.Lines.Add(Format('%s*%d=%d',[Num,i,StrToInt(Num)*i]));
if i in [1,2]
then Label1.Caption := Label1.Caption + IntToStr(StrToInt(Num)*i)+' ';
end;
end;
end. |
|
#5
|
|||
|
|||
|
Премного вам благодарен
![]() |
|
#6
|
||||
|
||||
|
Да не за что.
Последний раз редактировалось Страдалецъ, 27.03.2013 в 08:19. |