AGB  ·  Datenschutz  ·  Impressum  







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

Panel

Ein Thema von Kunoishi · begonnen am 27. Jun 2009 · letzter Beitrag vom 28. Jun 2009
Antwort Antwort
Seite 2 von 3     12 3      
polarwolf

Registriert seit: 6. Jan 2008
Ort: Bei Hamburg
10 Beiträge
 
Delphi 7 Personal
 
#11

Re: Panel

  Alt 27. Jun 2009, 18:01
Ups ich hab das alles auf integern gemacht damals. aber jetzt sollte es richtig sein

Ich verwalte in der selben Art ein DB Programm von mir. Vieleicht hilft es dir ja weiter.

Delphi-Quellcode:
function TForm1.Panelanzeige(Neuepanel: string):boolean;
begin

  //Das gewünschte Panel anzeigen
  Case Neuepanel of
    'blume': blumepanel.Visible:=true;
    'luft': luftpanel.Visible:=true;
    'wasser': wasserpanel.Visible:=true;
  else
    showmessage('Programmfehler Panel NR '+inttostr(Neuepanelnummer)+' nicht verfügbar.');
    result:=false;
  end;

  //Alle anderen Panel ausschalten
  if Neuepanel <> 'blumethen blumepanel.Visible:=false;
  if Neuepanel <> 'luftthen luftpanel.Visible:=false;
  if Neuepanel <> 'wasserthen wasserpanel.Visible:=false;

  application.ProcessMessages;
  result:=true;
end;

aufgerufen wird es dann so

Panelanzeige(Edit1.text);
Martin
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#12

Re: Panel

  Alt 27. Jun 2009, 18:02
Case mit String? Ich möchte bezweifeln, dass das so geht.

[edit] Das wird immer noch nicht gehen, case funktioniert nur mit ordinalen Datentypen [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#13

Re: Panel

  Alt 27. Jun 2009, 18:05
Die Frage, wäre ja auch was er genau damit bezwecken will. Oder besser gesagt, was es geben soll. Eventuell das ganze über eine DB zu lösen. Je nachdem wie viel Artikel etc. vorhanden sind.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
polarwolf

Registriert seit: 6. Jan 2008
Ort: Bei Hamburg
10 Beiträge
 
Delphi 7 Personal
 
#14

Re: Panel

  Alt 27. Jun 2009, 18:05
ich habe das wir gesagt damals mit integern gemacht. ob es nun mit strings geht habe ich nimals ausprobiert.
Martin
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#15

Re: Panel

  Alt 27. Jun 2009, 18:07
Zitat von DeddyH:
Zitat von Helmi:
Der Vorteil dabei von lowercase ist, dass man nicht auf die Groß-/Kleinschreibung bei der Eingabe achten muss.
Und bei AnsiLowercase gilt das sogar für Umlaute
Auch wenns OT ist, ich hab das gerade mal ausprobiert, mit folgenden Code:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
  S = 'Das ist ein Text mit üöäßÄÜÖ';

begin
  Label1.Caption := LowerCase(S);
  Label2.Caption := AnsiLowerCase(S);
end;
Im Label1 ist alles klein bis auf die letzten drei zeichen, im zweiten Label alles klein.
Ist das der Grund für AnsilowerCase?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#16

Re: Panel

  Alt 27. Jun 2009, 18:15
Japp, das hatte ich gemeint.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
polarwolf

Registriert seit: 6. Jan 2008
Ort: Bei Hamburg
10 Beiträge
 
Delphi 7 Personal
 
#17

Re: Panel

  Alt 27. Jun 2009, 18:18
man kann ja auch den string wieder in zahlen umschreiben dann geht es
Martin
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#18

Re: Panel

  Alt 27. Jun 2009, 18:24
Danke Deddy!

Für Case und String haben die Schweizer ein paar Beispiele:

Beispiel 1

Beispiel 2
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#19

Re: Panel

  Alt 27. Jun 2009, 18:28
@polarwolf: Mann kann sich auch nen Bein ausreissen und damit golfen. Schmerz und Sinn sind vergleichbar.

Nimm dir ne Combobox, und schmeiss da deine Texte rein. Die sind dann intern als StringList hinterlegt, die u.a. auch die Property Objects hat. Zum Programmstart schmeissz du dir in diese die jeweiligen Referenzen auf die zugehörigen Panels, und dann kannst du nachdem ein Eintrag gewählt wurde einfach über den ItemIndex wieder auf genau das richtige zugreifen und es visible machen. Kein if-Gewürgel, keine Stringveralberung, nur ein mal im OnCreate haufen an Panels in die Objects-Property werfen und fertig.

Btw: ComboBoxen können auto-vervollständigen, so dass der User nichtmals ausklappen muss um einen Eintrag zu wählen. Das ganze ist ja relativ Edit-ähnlich zu bedienen dann.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#20

Re: Panel

  Alt 27. Jun 2009, 18:36
, die selbe Idee hatte ich auch gerade:
Delphi-Quellcode:
procedure TfrmMain.ComboBox1Change(Sender: TObject);
var i: integer;
begin
  for i := 0 to ComboBox1.Items.Count - 1 do
    (ComboBox1.Items.Objects[i] as TPanel).Visible := i = ComboBox1.ItemIndex;
end;

procedure TfrmMain.FormCreate(Sender: TObject);
begin
  ComboBox1.Items.AddObject('Blume',Panel1);
  ComboBox1.Items.AddObject('Tiger',Panel2);
  ComboBox1.Items.AddObject('Pinkelpott',Panel3);
  ComboBox1.ItemIndex := 0;
  ComboBox1Change(Sender);
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 10:37 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