Autor Beitrag
KoPhi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Di 28.02.06 23:16 
Hi Narses,

schön dich wieder zu sehen :D

Ich möchte gerne meine Ausgabe der Konfiguration in mehreren ComboBoxen haben. Also nicht Editfeldern oder Label sondern in ComboBox. Da Teile der Konfiguration später auch Updates haben (z.B Grafikkarte xxxx für 100€ UPDATE Grafikkarte yyyy für 150€). Und ich möchte eben das die optische Ausgabe der Daten in ComboBoxen erfolgt.

Im mom kann ich den Code leider nicht zeigen...da er auf dem anderen Rechner ist.

Er ist auch etwas abgewandelt worden. :lol:

Habe die Preisbegrenzung herausgenommen....so lässt es sich gleich etwas einfacher proggen..

Im Grunde besteht er jetzt aus vielen verzweigten IF-'s

Gruß
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 28.02.06 23:22 
Moin!

user profile iconKoPhi hat folgendes geschrieben:
ich möchte eben das die optische Ausgabe der Daten in ComboBoxen erfolgt.

Du könntest die entsprechende ComboBox (also z.B. für Grafikkarte) mit allen möglichen Werten füllen und dann den ItemIndex setzen, um das gewählte Objekt anzuzeigen. Das sollte es doch tun.

user profile iconKoPhi hat folgendes geschrieben:
Im mom kann ich den Code leider nicht zeigen...

Schade, machste noch? :wink:

user profile iconKoPhi hat folgendes geschrieben:
Habe die Preisbegrenzung herausgenommen....so lässt es sich gleich etwas einfacher proggen..

Tja, das hatte ich mir schon fast gedacht. :D Ehrlich gesagt wird das den Lehrer sicher nicht freuen, da das eigentlich der "Witz" bei so einer Aufgabe ist... :|

cu
Narses

PS: Wann ist denn Abgabetermin? :wink:
KoPhi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Di 28.02.06 23:31 
Hi,

ich wollte die ComboBox nur nehmen, weil sie schöner aussieht als Edit und Label...^^ (gibt es Alternativen?)

Naja, der Lehrer konnte mir auch nicht so recht eine Antwort auf das Vorhaben geben....er wollte auch einige Sachen eingrenzen also "einfache Abfrage nur"...

Naja...Programme wie Testfragen mit Radiobuttons ...sind ja auch nichts besonderes...deshalb denke ich wird es kein Problem sein...

Ich werde das Programm noch etwas "ergonomischer" gestalten und einige Features reinbauen (nach den ich hier ja gefragt hatte)...dazu gutes Layout und verständliche Texte....und es sollte reichen...

Termin ist noch etwas hin....

Gruß
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 28.02.06 23:38 
Moin!

user profile iconKoPhi hat folgendes geschrieben:
ich wollte die ComboBox nur nehmen, weil sie schöner aussieht als Edit und Label...^^ (gibt es Alternativen?)

Es gibt fast immer Alternativen; aber ich denke auch, dass die ComboBoxen hier durchaus Sinn machen, so hat man die ausgewählte Konfig auf einen Blick und kann ggfs. noch was manuell "nachbessern". In diesem Zusammenhang: also das Minimum sollte aber ein aktuell berechneter Preis aus den ComboBox-Auswahlen sein! :wink:

user profile iconKoPhi hat folgendes geschrieben:
Naja, der Lehrer konnte mir auch nicht so recht eine Antwort auf das Vorhaben geben....er wollte auch einige Sachen eingrenzen also "einfache Abfrage nur"...

Der Lehrer wollte dir also sagen: "mach dir mal ein paar Gedanken, was du tun willst", quasi so, also wollte er sehen, ob du auch ein bischen mitdenken kannst/willst/möchtest... ? :D Wie untypisch für so eine Aufgabe... :wink:

user profile iconKoPhi hat folgendes geschrieben:
Naja...Programme wie Testfragen mit Radiobuttons ...sind ja auch nichts besonderes...deshalb denke ich wird es kein Problem sein...

Genau deshalb würde ich sagen, ist dein "Trumpf" eher mager ausgefallen... :gruebel: Oder?

user profile iconKoPhi hat folgendes geschrieben:
Termin ist noch etwas hin....

Sag dochmal ein Datum! :D

cu
Narses
KoPhi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Di 28.02.06 23:47 
Die Aufgabe habe ja immer noch ich mir selber ausgedacht.

Und ein Trumpf kann man immer nur haben, solange man ihn "beherrscht" und ich bin eben in der Programmierung nicht soweit.

Vorher denkt man immer...."alles ist leicht"... :lol:

Was willst du mit dem Datum? Mir nachspionieren? :lol: (ich weiß es im Mom echt nicht)

Du könntest mir ja noch ein paar Tipps geben, womit ich das Programm etwas "tunen" kann....(so steigt die Chance eines Trumpfes) ^^

Gruß
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 28.02.06 23:57 
Moin!

user profile iconKoPhi hat folgendes geschrieben:
Die Aufgabe habe ja immer noch ich mir selber ausgedacht.

Ich sehe aber folgende "Unschönheit" dabei: du hast dir ein Ziel gesetzt, es aber nicht erreicht... :wink:

user profile iconKoPhi hat folgendes geschrieben:
Und ein Trumpf kann man immer nur haben, solange man ihn "beherrscht" und ich bin eben in der Programmierung nicht soweit.

Wahrhaftig weise Erkenntnis! :wink: (Sag mal, in welcher Klasse bist du eigentlich?)

user profile iconKoPhi hat folgendes geschrieben:
Was willst du mit dem Datum? Mir nachspionieren? :lol: (ich weiß es im Mom echt nicht)

Nein :lol:, was hätte ich davon; ich will nur nicht "vorschnell" helfen... :mrgreen:

user profile iconKoPhi hat folgendes geschrieben:
Du könntest mir ja noch ein paar Tipps geben, womit ich das Programm etwas "tunen" kann....(so steigt die Chance eines Trumpfes)

Tja, ohne das Prog mal gesehen zu haben, ist das aber schwer. Also, zeig her, dann sehen wir weiter. :wink:

cu
Narses
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 01.03.06 00:05 
tja, knapp 20 minuten um den code für den konfigurator zu schreiben. fertig bis auf ein paar kleinigkeiten. ich bin begeistert.

möchtest du uns nicht mal den genialen code zeigen? würd mich echt interessieren.

PS: und ich wollt dir grad vorschlagen das ganze in prolog zu machen....., das hat sich jetzt wohl erübrigt.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 01.03.06 02:53 
Moin!

Naja, soo schwer ist das ganze nun auch wieder nicht; sicher, dass du eine Optimierung nicht doch vielleicht hinkriegst? :wink:

Konnte mir einfach nicht vorstellen, dass das so schwer sein soll und hab deshalb mal ein kleines Testproggi draus gemacht: ist im Anhang (wenn der Anhang nicht da sein sollte, Seite ggfs. mehrfach neuladen, ist ein Bug in der aktuellen Forensoftware) zum Ausprobieren fertig übersetzt. Damit ich nicht deine Hausaufgaben mache, werde ich den kompletten Quelltext des Projektes erst nach dem 20.03. hier reinstellen... :|

Da ich dir aber nicht vorführen will, dass ich sowas kann (davon hast du ja nix :rofl:), hier die entscheidende Prozedur (die dir zwar so auch nix nutzt, aber zumindest der MiniMax-Algo sollte sich erkennen lassen; das sind 3 Schleifen, wobei eine davon schon wieder eine Optimierung ist, das ist nicht schwer; der "Trick" liegt einfach in der geschickten Datenhaltung, wie ich schonmal anmerkte):
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
// priorisiertes Optimum bestimmen
procedure TForm1.BtnCalcClick(Sender: TObject);
  var
    Soll,i,j: Integer;

  // Prioritätenindex in Kategorie-Index umschlüsseln
  function Prio2Kat(const PrioIndex: Integer): Integer;
  begin
    Result := Integer(Prio.Items.Objects[PrioIndex]);
  end;

  // Maximum in der angegebenen Kategorie auswählen, Priorität beachten (umschlüsseln!)
  procedure ResetKat(const Index: Integer);
  begin
    Kat[Prio2Kat(Index)].ItemIndex := 0// größter Wert
    KatChange(Self); // aktuellen Wert berechnen
  end;

  // angegebene Kategorie optimieren, Priorität beachten (umschlüsseln!)
  procedure Optimize(const Index: Integer);
    var
      ikat: Integer;
  begin
    ResetKat(Index); // erstmal Maximum nehmen
    ikat := Prio2Kat(Index); // Priorität umschlüsseln
    Log.Lines.Add('Optimiere Kategorie '+Werte[ikat].Symbol);
    // solange das Soll noch überschritten ist und Werte da sind, runter gehen
    while ( (Kat[ikat].ItemIndex < Kat[ikat].Items.Count-1and (SelValue > Soll) ) do begin
      Kat[ikat].ItemIndex := Kat[ikat].ItemIndex +1// kleineren Wert nehmen
      KatChange(Self); // aktuellen Wert berechnen
      Log.Lines.Add('  '+KatA.Text+','+KatB.Text+','+KatC.Text+' Wert: '+Current.Text);
    end;
  end;

begin
  Log.Clear; // Protokoll löschen
  // aktuellen Soll-Wert umwandeln
  Soll := StrToIntDef(Budget.Text,500);
  Budget.Text := IntToStr(Soll); // wieder ausgeben, falls es der Default-Wert war
  // Maximum auswählen
  for i := 0 to 2 do
    ResetKat(i);
  Log.Lines.Add('Maximalauswahl getroffen, Wert: '+Current.Text);
  // jetzt die Kategorien abwerten, bis es passt, unwichtigste zuerst
  for i := 2 downto 0 do begin
    Optimize(i);
    if (SelValue < Soll) then begin // Soll unterschritten?
      Log.Lines.Add('Soll unterschritten, mögliche Aufwertung prüfen:');
      for j := i+1 to 2 do // untergeordnete Kategorien prüfen...
        Optimize(j); // ...ist vielleicht noch "Platz" für Verbesserungen
    end;
  end;
  if (SelValue > Soll) then
    Log.Lines.Add('Budget reicht nicht aus!');
end;

Vielleicht motiviert das ja noch ein bischen. Falls du also doch noch mal an die Optimierung gehen willst, kannst du ja ruhig weiter hier Fragen, wenn dein Code nicht klappen sollte. :wink:

cu
Narses

//EDIT: Ich seh grade, dass sich die Unterkategorie-Optimierung noch verbessern ließe, wenn man bei allen bis auf die aktuell untergeordnete Kategorie zuerst das Minimum auswählt und nicht bei der letzten Auswahl belässt (was aber in der Praxis kaum eine Rolle spielen dürfte, theoretisch aber einen Unterschied machen könnte).
Einloggen, um Attachments anzusehen!
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 22.03.06 00:44 
Moin!

Hier also der Quelltext der obigen Anwendung, wie angekündigt.

cu
Narses
Einloggen, um Attachments anzusehen!