Obsługa komponentu ComboBox z nazwami walut

0

Witam, mam pytanie co do ComboBox'a.
Muszę zrobić program " Kantor " ( liczenie walut itp. )
Sam program nie jest dla mnie problemem, lecz ten przeklęty ComboBox.
Pytanie1: Jak mam napisać polecenie wpisujące do ComboBox'a, np. Dolar, (niżej) Jen, (niżej) Euro.
Pytanie2: Jak mam napisać polecenie które wybraną wartość ( w tym przypadku, np. " Dolar " ) z ComboBox'a wprowadzi do Edita?
Proszę o szybką pomoc...

2

Ad 1. Właściwość Items
Ad 2. Edit1.Text:=ComboBox1.Text;

1

Dodam, że Ad 2. dodajesz w OnSelect właściwości Comboboxa.

0

Dobra, albo ze mną coś nie tak albo nie wiem. Wpisuję:

ComboBox1.Items.AddObject('Euro');

to mi wyskakuje błąd, że mało realne parametry.

1

Jak chcesz dodać coś do Comboboxa to wpisujesz

Combobox1.Items.Add('Euro');
1

Bo metoda AddObject przyjmuje dwa parametry - łańcuch znaków oraz referencję do obiektu dziedziczącego z klasy TObject; Do dodawania tylko łańcucha znaków służy metoda Add;

A wątek przenoszę do działu dla początkujących, bo problem związany jest z podstawowymi zagadnieniami.

0

Rozumiem, że wątek zostaje przeniesiony i przepraszam, że go wcześniej do złego działu dałem. Jestem nowy..
A co do combo..
Wpisuję: ComboBox1.Items.Add('Euro'+'Jen'+'Dolar'); , odpalam program i gdy próbuję rozsunąć Combo to jest puste...

0

No ale gdzie to wpisujesz?

0

Czy nie prościej zrobić to w inspektorze?
Jak chcesz razem i w kodzie to: ComboBox1.Items.Text:='Euro'#13#10'Jen'#13#10'Dolar';
Jak chcesz aby od razu był wybrany Jen to dodajesz: ComboBox1.ItemIndex:=1;

0

Wpisuję to w procedurach Combo..
Program na tak działać, że jak z Combo wybiorę np. " Jen " to wpisuje automatycznie " Jen " do notatnika i liczy.
Z liczeniem dam radę tylko to Combo..

0

No to znajdź w Object Inspectorze Comboboxa (prawdopodobnie po lewej stronie ekranu) pole Items, kliknij na nie 2x i dodaj te wszystkie Euro, Jeny, Marki, Funty, Szylingi itp :-)
A potem dodaj pod OnSelect Comboboxa te procedury przeliczające.

0

Dziękuję bardzo! Teraz mam inne pytanie, jak napisać polecenie żeby wybór z Combo automatycznie został wpisany do Edita? ;)

0

Hmm, czyli? Chyba nie rozumiem.

1

W drugim poście _13th_Dragon ci napisał. Ale do trzeciego posta też zajrzyj.

0

Już mam, dziękuję wszystkim serdecznie za pomoc. ;)

0

Mam jeszcze jeden drobny problem... Po wybraniu parametru z ComboBoxa zostaje on wyświetlony w Edit1, ale po wpisaniu licz program w miejscach przeznaczonych na wynikach wpisuje same zera..

To ten program:

var
kod :integer;
id,ie,ids,ij :real;
xe,xd,xj,xds,xpln :real;
kd,ke,kj,kds,kpln,pln :real;
kdt,ket,kjt,kdst,kplnt :string;
xet,xdt,xdst,xplnt,xjt :string;

begin

if(Edit1.text='Jen') then

begin
xjt:=Edit2.Text;
val(kjt,kj,kod);

kdt:=Edit3.Text;
val(kdt,kd,kod);

ket:=Edit4.Text;
val(ket,ke,kod);

kjt:=Edit5.Text;
val(kjt,kj,kod);

kdst:=Edit6.Text;
val(kdst,kds,kod);

pln:=xj/kj;
id:=pln/kd;
ie:=pln/ke;
ij:=xj;
ids:=pln/kds;

Edit7.Text:=Format('%3.2f',[pln]);
Edit8.Text:=Format('%3.2f',[id]);
Edit9.Text:=Format('%3.2f',[ie]);
Edit10.Text:=Format('%3.2f',[ij]);
Edit11.Text:=Format('%3.2f',[ids]);
end;

end;

dodanie znacznika <code class="delphi"> - @furious programming

0

Więc prześledź debuggerem czemu tak się dzieje.
Jaka jest wartość xj ?
Weź zrób sobie tablicę, tak aby cały kod wyglądał następująco:

val:=StrToFloat(SrcValue.Text);
for I:=0 to Length(Tb)-1 do tb[I].ValueEdit.Text:=FormatFloat('#.00',val*StrToFloat(tb[SrcValut.ItemIndex].RateEdit.Text)/StrToFloat(tb[I].RateEdit.Text));

Do tego potrzebujesz jedynie deklaracji tej tb w klasie oraz jej wypełnienia w konstruktorze.
Naprawdę to cały kod - nie żartuję.

1 użytkowników online, w tym zalogowanych: 0, gości: 1