mozgobol
Участник
Offline
|
|
« : 22-02-2006 12:23 » |
|
подскажите пожалуйста, какой тип переменной задать, если она - дробное число, и какой командой его потом в стринг переделать?
|
|
|
Записан
|
|
|
|
Oldy
|
|
« Ответ #1 : 22-02-2006 12:37 » |
|
1. Real, Single, Extended, Comp 2. FloatToStr()
See Also: Delphi Help
|
|
|
Записан
|
С уважением, Oldy.
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #2 : 22-02-2006 12:41 » |
|
еще вопросик, в комбобоксе если выбирается элемент какой либо, как его обработать?
|
|
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #3 : 22-02-2006 12:42 » |
|
если под "дробным" понимается "не целое" то Real. Или взависимости от нужной точности: Type Range Significant digits Size in bytes Real48 2.9 x 10^-39 .. 1.7 x 10^38 11-12 6 Single 1.5 x 10^-45 .. 3.4 x 10^38 7-8 4 Double 5.0 x 10^-324 .. 1.7 x 10^308 15-16 8 Extended 3.6 x 10^-4951 .. 1.1 x 10^4932 19-20 10 Comp -2^63+1 .. 2^63 -1 19-20 8 Real 5.0 x 10^-324 .. 1.7 x 10^308 15-16 8
для преобразования FloatToStr
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #4 : 22-02-2006 12:43 » |
|
Событие OnChange, Номер выбранного элемента в ComboBox1.ItemIndex
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #5 : 22-02-2006 12:44 » |
|
пасиб громадное!!! щас попробую
|
|
|
Записан
|
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #6 : 22-02-2006 12:57 » |
|
if combobox10.ItemIndex:=1 then a:=combobox10.ItemIndex; b:=strtoint(edit1.Text); c:=strtoint(edit5.Text); k:=(b+c+c+14)*17; label14.Caption:=floattostr(k); что здесь не так?
|
|
|
Записан
|
|
|
|
Oldy
|
|
« Ответ #7 : 22-02-2006 13:08 » |
|
if combobox10.ItemIndex:=1 Присваеваем значение. Может быть просто "=", а?
|
|
|
Записан
|
С уважением, Oldy.
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #8 : 22-02-2006 13:17 » |
|
if combobox10.ItemIndex=1 then b:=strtoint(edit1.Text); c:=strtoint(edit5.Text); k:=(b+c+c+14)*17; label14.Caption:=floattostr(k); else b:=strtoint(edit1.Text); c:=strtoint(edit5.Text); k:=(b+c+c*14)*21; label14.Caption:=floattostr(k); end;
|
|
|
Записан
|
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #9 : 22-02-2006 13:17 » |
|
а сейчас?
|
|
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #10 : 22-02-2006 13:23 » |
|
а в чём у тебя проблема?
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #11 : 22-02-2006 13:25 » |
|
говорит что то насчет елсе
|
|
|
Записан
|
|
|
|
Oldy
|
|
« Ответ #12 : 22-02-2006 13:29 » |
|
По русски: Если выбран ИтемИндекс один то Начало (где Begin?) присвоим переменной "b" целочисленное значение из Edit1.Text; присвоим переменной "c" целочисленное значение из Edit5.Text; переменной "k" присвоим значение (b+c+c+14)*17; (что тоже в общем-то "целое") преобразуем в строку значение "k" (почемуто как дробное) и покажем его в Label4.caption; Конец Иначе (ИтемИндекс не равно 1 ) Начало присвоим переменной "b" целочисленное значение из Edit1.Text; присвоим переменной "c" целочисленное значение из Edit5.Text; переменной "k" присвоим значение (b+c+c+14)*21; (что опять "целое") преобразуем в строку значение "k" (почемуто как дробное) и покажем его в Label4.caption; Конец; смотрите ";"
|
|
« Последнее редактирование: 22-02-2006 13:31 от Oldy »
|
Записан
|
С уважением, Oldy.
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #13 : 22-02-2006 13:36 » |
|
if combobox10.ItemIndex=1 then begin b:=strtoint(edit1.Text); c:=strtoint(edit5.Text); k:=(b+c+c+0.14)*17; label14.Caption:=floattostr(k); else b:=strtoint(edit1.Text); c:=strtoint(edit5.Text); k:=(b+c+c*0.14)*21; label14.Caption:=floattostr(k);
и все равно ошибку выдает: not allowed before "ELSE"
|
|
|
Записан
|
|
|
|
Oldy
|
|
« Ответ #14 : 22-02-2006 13:49 » |
|
var b,c,k : Real; //дробные или нет? Begin //поскольку еще пофиг чему равен ItemIndex b:=StrToFloat(edit1.Text); c:=StrToFloat(edit5.Text); //а здесь уже не пофиг if combobox10.ItemIndex=1 then k:=(b+c+c+0.14)*17 else k:=(b+c+c*0.14)*21; //и покажем результат label14.Caption:=floattostr(k); End; Хотя можно и: if combobox10.ItemIndex=1 then label14.Caption:=floattostr((b+c+c+0.14)*17) else label14.Caption:=floattostr((b+c+c*0.14)*21); а про переменную "k" - забыть. ======================== Усложнять просто, упрощать сложно.
|
|
« Последнее редактирование: 22-02-2006 13:51 от Oldy »
|
Записан
|
С уважением, Oldy.
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #15 : 22-02-2006 13:51 » |
|
у-у-ф-ф-ф-ф-ф, а так: if combobox10.ItemIndex=1 then begin b:=strtoint(edit1.Text); c:=strtoint(edit5.Text); k:=(b+c+c+14)*17; label14.Caption:=floattostr(k); end else begin b:=strtoint(edit1.Text); c:=strtoint(edit5.Text); k:=(b+c+c*14)*21; label14.Caption:=floattostr(k); end;
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #16 : 22-02-2006 14:04 » |
|
все равно ошибку выдает на else
|
|
|
Записан
|
|
|
|
Oldy
|
|
« Ответ #17 : 22-02-2006 14:05 » |
|
Давай весь код.
|
|
|
Записан
|
С уважением, Oldy.
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #18 : 23-02-2006 09:12 » |
|
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, XPMan, ExtCtrls;
type TForm1 = class(TForm) GroupBox1: TGroupBox; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; XPManifest1: TXPManifest; GroupBox2: TGroupBox; Image1: TImage; Image2: TImage; Image3: TImage; GroupBox3: TGroupBox; ComboBox1: TComboBox; ComboBox2: TComboBox; ComboBox3: TComboBox; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Label3: TLabel; Edit2: TEdit; Edit3: TEdit; Label4: TLabel; ComboBox4: TComboBox; Label5: TLabel; ComboBox5: TComboBox; Label6: TLabel; ComboBox6: TComboBox; Label10: TLabel; ComboBox10: TComboBox; Label11: TLabel; Edit4: TEdit; Label7: TLabel; Edit5: TEdit; GroupBox4: TGroupBox; Label8: TLabel; Label12: TLabel; ComboBox7: TComboBox; Label13: TLabel; ComboBox8: TComboBox; Label9: TLabel; ComboBox9: TComboBox; ComboBox11: TComboBox; Label14: TLabel; Button6: TButton; procedure Button6Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1; a,b,c,d:integer; e,f,j,h:string; i,k,l:real;
implementation
{$R *.dfm}
procedure TForm1.Button6Click(Sender: TObject); begin if combobox10.ItemIndex=1 then begin b:=strtoint(edit1.Text); c:=strtoint(edit5.Text); k:=(b+c+c+0.14)*17; label14.Caption:=floattostr(k); else b:=strtoint(edit1.Text); c:=strtoint(edit5.Text); k:=(b+c+c*0.14)*21; label14.Caption:=floattostr(k);
end; end;
end.
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #19 : 23-02-2006 09:49 » |
|
смотри!!!! procedure TForm1.Button6Click(Sender: TObject); begin if combobox10.ItemIndex=1 then begin b:=strtoint(edit1.Text); c:=strtoint(edit5.Text); k:=(b+c+c+0.14)*17; label14.Caption:=floattostr(k); else b:=strtoint(edit1.Text); c:=strtoint(edit5.Text); k:=(b+c+c*0.14)*21; label14.Caption:=floattostr(k);
end; end;
а надо так procedure TForm1.Button6Click(Sender: TObject); begin if combobox10.ItemIndex=1 then begin {!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!} b:=strtoint(edit1.Text); c:=strtoint(edit5.Text); k:=(b+c+c+0.14)*17; label14.Caption:=floattostr(k); end {!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!} else begin {!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!} b:=strtoint(edit1.Text); c:=strtoint(edit5.Text); k:=(b+c+c*0.14)*21; label14.Caption:=floattostr(k); end; {!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!} end;
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #20 : 23-02-2006 09:52 » |
|
УРАААА!!! заработала!!!!!! только пришлось убрать всякие б в скобках, пасиб громадное!!!!!! теперь догнал как все делать
|
|
|
Записан
|
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #21 : 23-02-2006 09:55 » |
|
надо было просто после иф, енд без точки с запятой поставить и все
|
|
|
Записан
|
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #22 : 23-02-2006 09:56 » |
|
перед элсэ всмысле
|
|
|
Записан
|
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #23 : 23-02-2006 09:57 » |
|
супер форум!!! на другие заходил, там тормозят с ответами а тут !!! прям супер!!!! буду теперь только им пользоваться
|
|
|
Записан
|
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #24 : 23-02-2006 12:28 » |
|
а как картинки сделать чтоб менялись? как их сохранить чтоб было все нормально, а не несколько обьектов использовать с их свойством визибл...
|
|
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #25 : 23-02-2006 12:38 » |
|
ты поподробней спрашивай: какие картинки? где? и т.д. можно и динамически и заранее... PS: на быстрый ответ не расчитывай, ибо праздники
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #26 : 23-02-2006 12:41 » |
|
обычные джипег картинки, в обьекте имэйдж, в общем там надо чтоб в комбо боксе выбираешь нужный пункт и в зависимости от этого картинка менялась, они все одноого разрешения, сохранены в обной папке, только не где проэкт
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #27 : 23-02-2006 15:32 » |
|
ну и... а какие действия предпринял? что не получилось?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #28 : 23-02-2006 15:33 » |
|
кароче, я обрабатываю событие ончейнж, потом чтоб менялось имайдж.пикче:=и там ниче не знаю че писать
|
|
|
Записан
|
|
|
|
mozgobol
Участник
Offline
|
|
« Ответ #29 : 23-02-2006 15:40 » |
|
я думаю чтьо нада имейдж.пикче.лоад фром файл только вот после него что писать???
|
|
|
Записан
|
|
|
|
|