Autor |
Beitrag |
20:30
      
Beiträge: 27
|
Verfasst: Mi 04.07.12 01:23
So erste Frage:
Wie (Falls möglich) kann ich bei if-Abfragen zwei Varianten machen kann.
Ungefähr so:
Delphi-Quelltext 1: 2: 3: 4:
| if if Boolean1 then Funcrion1(Meh, VMeh) = 0 else Function1(Meh2, VMeh2) = 0 then begin Quellcode bleibt hier gleich. end; |
Oder so:
Delphi-Quelltext 1:
| if Function1(if Boolean1 then Meh, VMeh else Meh2, VMeh2) = 0 then |
Ich möchte nicht alles unten reinkopieren, da ein Haufen Zeilen da drinnen stehen.
Zweite Frage:
In einem MemoFeld soll nachhinein in eine selbe Zeile geschrieben werden.
Delphi-Quelltext 1: 2:
| M_Meh.Lines.Add(ZKMeh.Attr1); M_Meh.SelbeLine.Add(ZkeMeh.Attr2); |
Dritte Frage:
Wie kann ich bei der 2. Frage, bzw. überhaupt, das beigefügte in ein Level rücken
Quelltext 1: 2: 3: 4: 5:
| Test1 True Test2 True SuperLangerTest1 True NochLängererText2 True KurzerText1 True |
Mit Tabs geht's nicht.
Moderiert von Martok: Delphi-Tags hinzugefügt
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Mi 04.07.12 01:49
Hey,
Frage 1:
Eine if-Anweisung erwartet einen Boolean. Das Ergebnis bei einem Vergleich ist ein Boolean. Booleans kann man mit logischen Operatoren (and, or, not, xor, ...) verknüpfen:
Delphi-Quelltext 1:
| if (1 = 1) and (2 = 2) and (3 = 3) then |
Frage 2:
Delphi-Quelltext 1: 2: 3: 4: 5:
| var LineID: Integer; Memo1.Lines.Add('Text'); LineID := Memo1.Lines.Count-1; Memo1.Lines[LineID] := 'anderer Text'; |
Frage 3:
Dazu musst du einfach ein paar Leerzeilen an den richtigen Stellen einfügen. Das geht aber nur bei Schriftarten wie z.B. Courier New, da dort alle Buchstaben die selbe Breite haben. Bei anderen Schriftarten ist das nicht so einfach.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure AddLine(aText: String; const aValue: Boolean; const aLength: Integer); begin while Length(aText) < aLength do aText := aText + ' '; if (aValue) then Memo1.Lines.Add(aText + 'true') else Memo1.Lines.Add(aText + 'false'); end; |
Es scheint mir so, das du sehr große Wissenslücken bei den Grundlagen hast. Vlt wäre es angbrachter noch einmal ein Tutorial über Delphi durchzuarbeiten. Da kann ich das von Christian Stelzmann empfehlen. Außerdem komtm mir das mit deinen haufen if-Abfragen etwas komisch vor. Wie genau sieht das denn aus? Das geht sicher einfacher. Normelerweiße hat man nie mehr als 3-4 Abfragen in einer Anweisung.
MfG Bergmann.
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
Für diesen Beitrag haben gedankt: 20:30
|
|
20:30 
      
Beiträge: 27
|
Verfasst: Mi 04.07.12 02:15
Nah, an den Grundlagen (Zumindest die im Turorial) haperts eigentlich nicht. Nur die Erfahrung machts, dass ich lieber nach was Bytesparendere Methoden nachfrage.
Mit der If-Abfrage habe das ich nicht so gemeint (Okay, meine Beschreibeung war auch sehr ungenau).
and und or suche ich nicht.
Das Problem liegt bei den Variablen der Funktion innerhalb der If-Funktion, die geändert werden sollen, wenn ein andere boolean-Wert wahr/falsch ist.
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Mi 04.07.12 02:26
Delphi-Quelltext 1:
| if (Boolean1 and (Function1(Meh, VMeh) = 0)) or (not Boolean1 and (Function1(Meh2, VMeh2) = 0))) then |
da du hier einmal Boolean1 und einmal not Boolean1 benutzt, hast du einen wechselseitigen Ausschluss. Heißt, wenn Boolean1 wahr ist, dann wird Function1(Meh, VMeh) ausgeführt und ausgewertet. Wenn Boolean1 falsch ist, dann wird Function1(Meh2, VMeh2) ausgeführt und ausgewertet.
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
Für diesen Beitrag haben gedankt: 20:30
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Mi 04.07.12 03:29
Ach Bergmann89, du solltest doch das wissen
20:30, bitte stell nicht mehere thematisch nicht zusammenhängende Fragen in einem Thread. Das führt (wie man hier schön sehen kann) zu ziemlichem Chaos, worum es denn grade geht. Eröffne für jede Frage einen Thread (in der passenden Sparte), unsere Datenbank kann das ab
Da einer hier schon angefangen hat zu antworten, schließe ich hier mal nicht gleich sondern lege moderativ fest, dass wir uns hier nur noch um den Vergleich kümmern. Bitte also für die Memo-Frage ein neues Thema erstellen.
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Für diesen Beitrag haben gedankt: 20:30
|
|
rizla
      
Beiträge: 417
Erhaltene Danke: 2
XP
FPC mit Lazarus
|
Verfasst: Mi 04.07.12 03:33
_________________ if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.
Für diesen Beitrag haben gedankt: 20:30
|
|
Blup
      
Beiträge: 174
Erhaltene Danke: 43
|
Verfasst: Mi 04.07.12 17:54
|
|
|