AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Combobox Problem

Ein Thema von Darksniper · begonnen am 12. Jul 2007 · letzter Beitrag vom 13. Jul 2007
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
Darksniper

Registriert seit: 9. Jul 2007
102 Beiträge
 
Delphi 2005 Personal
 
#11

Re: Combobox Problem

  Alt 12. Jul 2007, 21:30
was ist ein unsicherer Code?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Combobox Problem

  Alt 12. Jul 2007, 21:35
Zitat von Darksniper:
was ist ein unsicherer Code?
Wie meinst du das?
Markus Kinzler
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#13

Re: Combobox Problem

  Alt 12. Jul 2007, 21:41
Hm ?

Meinst du vielleicht, dass es bei 1b nicht klappen würde ?
Wenn...
...ja:
Da darf ich ja mal wieder Pos&Copy erklären :
Mach es so, falls du außer a noch etwas anderes einbauen möchtes (z.B. b):
Delphi-Quellcode:
var i : Integer;
    s : String;
begin
  s := cb.Items[cb.ItemIndex]; // der ausgwählte Eintrag von der ComboBox (cb)
  for i := 1 to Length(s) do // Strings beginnen bei 1; hier wird der gesamte String Zeichen für Zeichen durchgegangen und...
    if not (s[i] in [0..9]) then // ...geschaut, ob außer 0..9 noch etwas anders enthalten ist
      LabelBla.Caption := Copy(s, 0, i); // Copy kopiert in dem Fall im String s von 0 bis zur Stelle, an der etwas anderes außer 0-9 gefunden wurde
...nein:
Lies dir ja trotzdem durch und probier es einfach nur zur Übung aus und erklär nochmal genau dein Problem.
  Mit Zitat antworten Zitat
Darksniper

Registriert seit: 9. Jul 2007
102 Beiträge
 
Delphi 2005 Personal
 
#14

Re: Combobox Problem

  Alt 12. Jul 2007, 21:50
also

Delphi-Quellcode:
if ComboBox1.ItemIndex = 0 then
  Label57.Caption := 200*2^(Stufe-1);
  Label58.Caption := 1000*2^(Stufe-1);
Label57.Caption := 200*2^(Stufe-1);

[Fehler] ogame1.pas(456): E2396 Unsicherer Code ist nur in unsicheren Prozeduren zulässig
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Combobox Problem

  Alt 12. Jul 2007, 21:58
Ohje. Also, zuerst einmal versuchst du hier einer Zeichenkette (die Caption) einen Zahlenwert (Das ergebnis der Berechnung) zuzuordnen. Das ganze musst du nich mithilfe von IntToStr, oder bei Kommawerten mit FloatToStr umwandeln. Die Delphihilfe(F1) hilft da. Dann kannst du in Delphi nich "^" als "hoch" verwenden. Das ^ in Delphi hat etwas mit Pointern zu tun. Dazu musst du die Funktion Power benutzen.
Um beispielsweise einem Label das Ergebnis der berechnug 2^5+10 anzeigen zu lassen, müsste das so aussehen:
Label1.Caption:=IntToStr(Power(2, 5)+10);
Außerdem hast du begin und end vergessen. Eventuell solltest du dir mal die Grundlagetutorials durchlesen (www.dsdt.info), die helfen bei sowas wirklich!
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Combobox Problem

  Alt 12. Jul 2007, 21:58
1. begin ...end fehlt
2. .Caption ist ein String
3. Der Code macht was anderes, als du willst. ^ bedeutet nicht hoch sondern ist eine Zeigeroperation (Referenzierung/Dereferenzierung

Delphi-Quellcode:
if ComboBox1.ItemIndex = 0 then
begin
  Label57.Caption := IntToStr( Power(200*2, Stufe-1));
   ...
end;
Markus Kinzler
  Mit Zitat antworten Zitat
Darksniper

Registriert seit: 9. Jul 2007
102 Beiträge
 
Delphi 2005 Personal
 
#17

Re: Combobox Problem

  Alt 12. Jul 2007, 22:20
das ist die ganze geschicht

Delphi-Quellcode:
procedure TForm3.Button9Click(Sender: TObject);
var stufe,Fl,Rf,Nf : Integer;
begin
  stufe := StrToInt (Edit31.Text);
  Rf := StrToInt (Edit32.Text);
  Nf:= StrToInt (Edit33.Text);
  Fl := StrToInt (Edit34.Text);
 if ComboBox1.ItemIndex = 0 then
  Label57.Caption := 200*2^(Stufe-1);
  Label58.Caption := 1000*2^(Stufe-1);
  Label59.caption := 200*2^(Stufe-1);
  Label64.Caption := ((200+1000)div(1000*(1+FL)))*60;
end;
das mit dem power check ich nit

wenn ich es einbauen will unterstreicht er es immer rot
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Combobox Problem

  Alt 13. Jul 2007, 06:30
Wie bereits erwähnt wurde ist "^" nicht der Potenz-Operator, sondern eine Zeigeroperation.

Die Funktion Delphi-Referenz durchsuchenPower befindet sich in der Unit Math, die du daher in die uses-Klausel mit aufnehmen musst:

uses Math; Dann kannst du diese auch nutzen und Delphi kennt sie. Aber wenn du nach Hier im Forum suchenPower gesucht oder in der Delphi-Hilfe nachgeschaut hättest, wäre dir das auch selbst aufgefallen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Combobox Problem

  Alt 13. Jul 2007, 06:34
Btw. Die If-Anweisung wrkst immer noch nur für das erste Label. Die anderen werden immer gesetzt. Umschließe alle Anweisungen mit einem begin..end-Block (siehe #16)
Markus Kinzler
  Mit Zitat antworten Zitat
Darksniper

Registriert seit: 9. Jul 2007
102 Beiträge
 
Delphi 2005 Personal
 
#20

Re: Combobox Problem

  Alt 13. Jul 2007, 09:52
Delphi-Quellcode:
procedure TForm3.Button9Click(Sender: TObject);
var stufe,Fl,Rf,Nf,Stufe2 : Integer;
begin
  stufe := StrToInt (Edit31.Text);
  stufe2 := Stufe-1;
  Rf := StrToInt (Edit32.Text);
  Nf:= StrToInt (Edit33.Text);
  Fl := StrToInt (Edit34.Text);
 if ComboBox1.ItemIndex = 0 then
  begin
   Label57.Caption := 200*power(2,Stufe2);
   Label58.Caption := 1000*power(2,Stufe2);
   Label59.caption := 200*power(2,Stufe2);
   Label64.Caption := ((200+1000)div(1000*(1+FL)))*60;
  end;
end;


Label57.Caption := 200*power(2,Stufe2);
[Fehler] ogame1.pas(458): E2010 Inkompatible Typen: 'string' und 'Double'
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz