[Delphi] Problem mit delphi

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von €X|t, 16. September 2006 .

Schlagworte:
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 16. September 2006
    Problem mit delphi

    Moin@ all.

    Ich programmiere gerade in delphi für die Schule was.

    Unzwar haben wir ne Notenverteilung. Wenn man 1 eingibt soll dort stehen z.b. 15 punkte. bei einer 1- 14 punkte usw. Das ganze soll aber auch umgekehrt passieren. D.h. wenn ich 15 punkte eingebe das dort eine 1 steht.

    KAnn mir jemand helfen? ICh weiss überhaupt nicht wie ich beginnen und enden soll.
     

  2. Anzeige
  3. #2 16. September 2006
    AW: Problem mit delphi

    Ich würde jetzt erst den user auswählen lassen, Noten-> Punkte oder Punkte-> Noten...
    Und dann eben mit ner If schleife immer die besagten Zahlen ausgeben, also wenn er ne 1 eintippt, halt 15-13 ausgeben ...
     
  4. #3 16. September 2006
    AW: Problem mit delphi

    naja das ist n bisschen umständlich.. kannst du dir nich ne Formel ausdenken die Punkte in Noten umrechnet? oder ist die Skala nich regelmäßig?
     
  5. #4 16. September 2006
    AW: Problem mit delphi

    ähm ist es nich so:

    1 = 15, 14, 13
    2 = 12, 11, 10
    3 = 9, 8, 7
    4 = 6, 5, 4
    5 = 3, 2, 1
    6 = 0

    Finde ich dann doch nicht so umständlich ;)
     
  6. #5 16. September 2006
    AW: Problem mit delphi

    Code:
    if x in [15..13] then ...
    
     
  7. #6 16. September 2006
    AW: Problem mit delphi

    also ich würde das net mit einer if-Anweisung, sondern mit einer case..of anweisung machen.
    geht ja ruckzuck und net so umständlich wie mit if!

    Code:
    var
     Punkte, Note: Integer;
    begin
     case Punkte of
     15, 14, 13: Note := 1;
     12, 11, 10: Note := 2;
     9, 8, 7: Note := 3;
     6, 5, 4: Note := 4;
     3, 2, 1: Note := 5;
     0: Note := 6;
     end;
    
     
  8. #7 16. September 2006
    AW: Problem mit delphi


    echt ? so einfach ist das aufgebaut? hab leider auch nicht ganz soviel ahnung davon.

    Es sollte so sein das ich im design einfach ein feld habe wo ich die zahl eingebe ( also bzw. 1. ) und er mir dann die punkte ausschüttet.
     
  9. #8 16. September 2006
    AW: Problem mit delphi

    ja so einfach ist das^^ aber wie oben schon gesagt brauchste ja noch nen Radiobutton oder sowas um die Richtung anzugeben. Weil woher soll das Programm wissen, ob du die eingegebene "1" in Punkte umrechnen willst, oder in eine Note ;)
     
  10. #9 16. September 2006
    AW: Problem mit delphi

    N0b0dy´s Lösung ist die beste.

    Mit ner case anweisung kannst du schnell deine aufgabe erledigen.

    Umgedreht gehts natürlich auch.Du speicherst die eingabe des users in ner variable und machst dann wieder ne case und gibst es in nem label wieder aus.
     
  11. #10 17. September 2006
    AW: Problem mit delphi

    öh... verstehe nicht was du damit meinst, bzw. wo dieser button is

    mag mir vielleicht mal irgend jemand sowas anfertigen? ich krieg das total nicht hin, vielleicht sehe ich dann wie es geht. Die arbeit ist natürlich nicht umsonst xD
     
  12. #11 17. September 2006
    AW: Problem mit delphi

    na wenn dir das einer macht, lernste ja nix dabei ;)
    probieren geht über studieren^^

    also dieser von dir bezeichnete "button" ist ein RadioButton. Sowas wie ne Checkbox nur rund und bissle anners :D

    aber vielliecht wäre es einfacher wenn du das einfach ohne Radiobutton machst und dafür 2 normale Buttons nimmst:
    "Punkte -> Note" und "Note -> Punkte" ;)
     
  13. #12 17. September 2006
    AW: Problem mit delphi

    Das ist nun wirklich keine schwere Aufgabe, vor allen mit unserer Hilfestellung nicht, also probiers alleine, für die die in Info keinen plan haben kommen noch schwierigere aufgabe ;) also guck dass de dich damit befasst
     
  14. #13 18. September 2006
    AW: Problem mit delphi

    Naja so ähnlich :p

    Code:
    var
     Punkte, Note: Integer;
    begin
     case Punkte of
     15: Note := 1+;
     14: Note := 1;
     13: Note := 1-;
     12: Note := 2+;
     11: Note := 2;
     10: Note := 2-;
     9: Note := 3+;
     8: Note := 3;
     7: Note := 3-;
     6: Note := 4+;
     5: Note := 4; 
     4: Note := 4-; //Ab hier wird's unterpunktig
     3: Note := 5+;
     2: Note := 5;
     1: Note := 5-;
     0: Note := 6;
     end;
    

    Ich hoffe, das ist richtig, weil ich selber erst seit 2 Wochen, d.h. 4 Schulstunden Delphi habe :p
    Und erst 2 Schulstunden "coden" wir XD
     
  15. #14 18. September 2006
    AW: Problem mit delphi

    falsch! wie kann denn ein Integerwert "1+" oder "5-" sein? ;)
    wenn man das schon so "genau" machen will, müsste das alles in einen String.
     
  16. #15 18. September 2006
    AW: Problem mit delphi

    Achso, ich dachte nur :p
    Ja wie gesagt, mache das erst seit 2 Unterrichtsstunden, und wollte direkt klug:poop:rn :p
    Sry

    Also wenn ich das richtig verstanden habe, kann ein Integerwert nur ne absolute Zahl sein, oder ?
    Verbessert mich, wenns nich stimmt XD

    Aber die Variante als String würd mich auch ma interessieren.
     
  17. #16 18. September 2006
    AW: Problem mit delphi

    Also wenn klug:poop:n, dann richtig, aber sowas... ;)

    Integer sind nur ganze zahlen von -2147483648 bis 2147483647 ^^ (oder ? ;) )

    Na mit Strings machst dus so wie dus geschrieben hast nur als datentyp string angeben ^^
     
  18. #17 20. September 2006
    AW: Problem mit delphi

    Hm, ich habe mal den Code in Delphi ausprobiert aber es funktioniert nicht.
    Die Fehlermeldung ist: "Inkompatible Typen: 'String' und 'Integer'.
    Außerdem wird die Zeile " case Punkte of" rot markiert und es steht da "Ordinaltyp erforderlich."
     
  19. #18 20. September 2006
    AW: Problem mit delphi

    das muss gehen. hast sicher nen fehler in der variablendeklaration.
    was anderes kanns kaum sein....
     
  20. #19 20. September 2006
    AW: Problem mit delphi

    also in pascal gehts ma definitiv so:
    Code:
    program Project2;
    
    {$APPTYPE CONSOLE}
    
    uses
     SysUtils;
    
    var
     Punkte: byte;
     note : string;
    begin
    write('Punktzahl? ');
    readln(punkte);
     case Punkte of
     15: Note := '1+';
     14: Note := '1';
     13: Note := '1-';
     12: Note := '2+';
     11: Note := '2';
     10: Note := '2-';
     9: Note := '3+';
     8: Note := '3';
     7: Note := '3-';
     6: Note := '4+';
     5: Note := '4';
     4: Note := '4-'; //Ab hier wird's unterpunktig
     3: Note := '5+';
     2: Note := '5';
     1: Note := '5-';
     0: Note := '6'
     else note:=('du hast keine gültige note angegeben');
     end;
     writeln('du hast eine ',note);
     readln;
     end.
    
     
  21. #20 23. September 2006
    AW: Problem mit delphi

    hm, brauch ich ne bestimmte Delphi Version?
    Weil ich hab jetzt bloß Delphi 4, weil das haben wir von der Schule für nen Euro bekommen.
    Aber eigentlich hat das damit ja nix zu tun oder? Weil Variablen deklarieren ist ja so grundsätzlich in einer Programmiersprache, dass das auch schon bei früheren Versionen drin gewesen sein muss :rolleyes:
     
  22. #21 23. September 2006
    AW: Problem mit delphi

    Hi,
    das mit den Inkompatiblen Typen liegt bei dir bestimmt daran, dass du vergessen hast um die Strings ein ' zu machen. Wie z.B. '2-'...

    Habe hier mal ein Beispiel gecodet: http://rapidshare.de/files/34144337/Project3.exe

    Der Code muss so Aussehen:
    Code:
    var
     Note: String;
    begin
    case StrToInt(Edit1.Text) of // mit StrToInt(Edit1.Text) wird der Inhalt des Edit 1 in einen Integerwert umgewandelt
     15: Note := '1+';
     14: Note := '1';
     13: Note := '1-';
     12: Note := '2+';
     11: Note := '2';
     10: Note := '2-';
     9: Note := '3+';
     8: Note := '3';
     7: Note := '3-';
     6: Note := '4+';
     5: Note := '4';
     4: Note := '4-'; //Ab hier wird's unterpunktig
     3: Note := '5+';
     2: Note := '5';
     1: Note := '5-';
     0: Note := '6';
     end;
     Label3.Caption := Note;
     end;
    
    Ich habe in dem Beispiel von mir noch eine Überprüfung eingefügt, ob die Taste welche gedrückt wird auch eine Zahl ist und wenns keine ist, das die Eingabe ignoriert wird und ein Beep ausgegeben wird.
    Desweiterem eine Überprüfung ob die eingegebene Zahl < 16 ist. Sollte sie größer sein wird automatisch eine 15 in das Editfeld eingefügt.
    Den ganzen Code habe ich dem "OnChange"-Ereignis des Editfeldes zugewiesen, das man nicht erst auf nen Button klicken muss um die Note anzuzeigen.
    Wäre aber genau so möglich...
    Wenn du interesse an dem Code hast könnte ich den auch nochmal uppen... ;)

    MfG mighty90
     

  23. Videos zum Thema
Die Seite wird geladen...
Similar Threads - Delphi Problem delphi
  1. Antworten:
    0
    Aufrufe:
    366
  2. Antworten:
    17
    Aufrufe:
    790
  3. Antworten:
    3
    Aufrufe:
    893
  4. Antworten:
    1
    Aufrufe:
    321
  5. Antworten:
    2
    Aufrufe:
    717