Är som sagt ny med delphi.
Fattar dock inte hur man lägger in värden i en combobox, hur gör man?
Sen vill jag skriva ut ett tal med två decimaler, avrundat rätt. Som jag har nu blir det såhär "102,40-100 = 2,44".
Tack
Andreas
5 svar · 394 visningar · startad av AG
Är som sagt ny med delphi.
Fattar dock inte hur man lägger in värden i en combobox, hur gör man?
Sen vill jag skriva ut ett tal med två decimaler, avrundat rätt. Som jag har nu blir det såhär "102,40-100 = 2,44".
Tack
Andreas
Hej Andreas!
Lägga till värden i en combobox kan du göra via propertyn Items i design-läget. Klicka på den lilla knappen med de tre prickarna vid Items så kommer du in i String List Editor. Där skriver du bara in alternativen rad för rad.
Vill du göra det kodmässigt skriver du så här i exempelvis formulärets FormCreate-event:
ComboBox1.Items.Add('Alternativ 1');
ComboBox1.Items.Add('Alternativ 2');
ComboBox1.Items.Add('Alternativ 3');
Ett tips är också att kolla på propertyn Style för comboboxen. Den styr beteendet. csDropDown ger t ex användaren möjlighet att skriva fritt i comboboxen. Jag brukar oftast inte tillåta det utan välja csDropDownList i stället. Då tvingas användaren välja ett av alternativen i listan.
För att formatera ett flyttal kan du göra så här:
edit1.Text := FloatToStrF(102.4 - 100, ffFixed, 7, 2);
Första parametern är förstås själva talet som ska formateras, sedan kommer formatet, därefter precisionen och sist antal decimaler. Det finns förstås andra format än ffFixed att välja på... Läs hjälpen!
Ok, tack för hjälpen.
Dock vill jag ha ett värde tilldelat comboboxens alla alternativ.
Väljer jag tex "Alternativ 1" kanske värdet är "15". Hur gör man då?
Andreas
Det enklaste sättet är väl att tolka texten för det alternativ användaren valt:
if ComboBox1.Items[ComboBox1.ItemIndex] = 'Alternativ 1' then
value := 15
else if ComboBox1.Items[ComboBox1.ItemIndex] = 'Alternativ 2' then
value := 23
else if ComboBox1.Items[ComboBox1.ItemIndex] = 'Alternativ 3' then
value := 35;
Tyvärr inte, blir väldigt lång kod.
Skall ha det som olika listor, födelsedata, landprefix, land etc.
Behöver tilldela varje fält ett värde direkt.
Förresten hur kan man öppna en textfil, typ ett anrop så anteckningar öppnar en fil?
Andreas
Varifrån kommer datat du ska lägga i comboboxarna? Du kanske kan ha kvar de "listorna" och adressera dig i dem med hjälp av comboboxarnas ItemIndex?! Annars får du väl göra en hjälpklass med exempelvis värde och presentationssträng, skapa en instans för varje Item i comboboxen och hålla dem i en lista som du matchar användarens val mot med hjälp av comboboxens ItemIndex.
Öppna en fil kan du göra så här:
ShellExecute(0, 'open', PChar('notepad.exe'), pchar('c:\filnamn.txt'), '', SW_SHOWNORMAL);
Du måste lägga till ShellAPI i uses-klausulen.