|
|
Регистрация | << Правила форума >> | 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. |