Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Variable + 1
1Stein - So 16.02.03 15:40
Titel: Variable + 1
Wie kann ich zu einer Variable (Integer) etwas addieren bzw subtrahieren in JavaScript hat man das mit Variable = Variable + 1 gemacht tja wie ich bemerkt hab funktioniert das in Delphi nicht kann mir jemand helfen :?!?:
Christian S. - So 16.02.03 15:57
Quelltext
1: 2: 3: 4: 5: 6:
| Delphi Java = == := = OR || AND && inc(variable) variable++ |
1Stein - So 16.02.03 16:03
Danke Anke ^^ allerdings weiß ich immernoch net wie ich es anstellen soll so?
Quelltext
1:
| if [Ereignis] then inc(Variable) |
1Stein - So 16.02.03 16:07
Also wenn das so richtig sein Sollte dann naja also ich hab das mal probiert
if RadioButton4 := true then inc(Fragen) allerdings kam dann das
[Fehler] Unit6.pas(49): Ausdruckstyp muss BOOLEAN sein
[Fehler] Unit6.pas(55): Anweisung erwartet, aber Dateiende gefunden
[Fataler Fehler] Leipzigquiz.dpr(10): Verwendete Unit 'Unit6.pas' kann nicht compiliert werden
Anonymous - So 16.02.03 16:10
Was soll denn am RadioButton true sein?
Soll der gedrückt sein? Dann müsste es so lauten: if RadioButton4.Checked = True ...
DaFox - So 16.02.03 16:10
Hi.
Quelltext
1:
| if RadioButton4.Checked = true then inc(Fragen); |
Markus
Anonymous - So 16.02.03 16:12
Ha, schneller! :twisted:
1Stein - So 16.02.03 16:14
thx euch beiden danke Peter und wie mache ich das ganze jetzt anders rum (Variable--) ?
Tino - So 16.02.03 16:25
Hallo,
schau Dir mal die Hilfeseite zum dem Befehl Inc an. Dort gibt es einen Link oben links Siehe auch. Dort kommst Du unter anderem zu der Hilfeseite zum Befehl Dec. Und rate mal was der für eine Aufgabe hat ? :wink:
Gruß
TINO
1Stein - So 16.02.03 16:38
oke machich :mrgreen:
Anonymous - So 16.02.03 17:25
| DaFox hat folgendes geschrieben: |
Quelltext 1:
| if RadioButton4.Checked = true then inc(Fragen); | |
Nur so als Tip, es geht auch so:
Quelltext
1:
| if RadioButton4.Checked then inc(Fragen); |
Da RadioButton4.Checked berits True ist, ist der Abfrage if True = True...
@1Stein
| 1Stein hat folgendes geschrieben: |
| thx euch beiden danke Peter und wie mache ich das ganze jetzt anders rum (Variable--) ? |
So schwer kann das nicht sein. Du fragst hier das 1 mal 1 ab. Zu Not kann man auch:
Quelltext
1:
| Variable := Variable - 1; |
machen. Und so kann man es (mehr oder weniger gleich) in allen Sprachen machen.
DaRkFiRe - So 16.02.03 17:31
Ich setz noch einen drauf: RadioButton4.Checked ist schon Boolean -> ihr könnt also diesen "= True" vergleich weglassen für "= False" schreibt ihr dann "NOT RadioButton4.Checked"
Har har
DaRkFiRe - So 16.02.03 17:34
Argh, Popov *grr* :)
1Stein - So 16.02.03 17:40
@popov mit variable := variable + (bzw -) 1 hab ichs gemacht da gibts fehler
Christian S. - So 16.02.03 17:41
Nein, wenn Du es richtig machst, gibt es da garantiert keine Fehler. Poste mal den Code.
1Stein - So 16.02.03 17:51
Quelltext
1: 2: 3:
| if Form6.Fragen := -2 then label4.Caption := '0' AND label5.Caption := '2' elseif Form6.Fragen := 0 then label4.Caption := '1' AND label5.Caption := '1' else Form6.Fragen := 2 then label4.Caption := '2' AND label5.Caption := '0' |
so ich hoffe das ist alles so korrekt mit den befehlen und ich hab nicht mal wieder paar (doofe) Fehler drinne aber es sind welche drinn des es funzt net :mrgreen:
Anonymous - So 16.02.03 18:19
@1stein
Wie ich gerade sehe liegen deine Schwächen darin die Pascalsprache überhaupt zu verstehen. Zum Beispiel AND. Es dient dazu zweit Werte zu vergleichen und ein Ergebnis zu liefern. Es ist nicht dazu da zwei Anweisungen zu verschmelzen.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| if Form6.Fragen = '-2' then begin label4.Caption := '0'; label5.Caption := '2'; end else if Form6.Fragen = '0' then begin label4.Caption := '1'; label5.Caption := '1'; end else if Form6.Fragen = '2' then begin label4.Caption := '2'; label5.Caption := '0'; end; |
ungeprüft
Bei programmierung mit Pascal oder Delphi ist dieses Wissen das "A" des Alphabets. Wenn du das nicht draufhast, dann wirds nicht funktionieren.
Du solltest dir wirklich nochmal die Grundlagen angucken.
Du hast so ziemlich alles falsch gemacht was man falsch machen konnte.
Christian S. - So 16.02.03 19:10
@1Stein:
Ich weiß ja nicht, wie gut Du mit JavaScript umgehen kannst, aber wenn Du mal einen Blick in die Tabelle wirfst, die ich gepostet habe, wird Dir sehr schnell klar werden, dass Du alle diese Fehler hättest vermeiden können.
Den FAQ-Beitrag scheinst Du Dir auch nicht angeguckt zu haben, denn dort steht auch etwas darüber drin, was "AND" ist. Und in der Tabelle steht's auch nochmal.
MfG,
Peter
1Stein - So 16.02.03 19:22
Bin nunmal noch ein anfänger kann ich doch nix dafür ich meine jeder hat mal angefangen und haufenweiße fehler gemacht selbst wenn es erklärt wurde sorry falls ihr ne ausnahme seit aber das glaub ich eher net naja ich gucks mir nochmal an aber ich hab vorher immer nur mit HTML und JS gearbeitet und JS bin ich auch kein experte ich ... ach naja ich glaub ihr wisst was ich meine :bawling:
Moderiert von
Tino: 40 Smilies aus dem Beitrag entfernt.
1Stein - So 16.02.03 19:34
ähm hab den Source jetzt mal eingefügt jetzt meint er Inkompatible Typen Integer und String naja ich kapier das net ganz aber in der Variable werden Zahlen gespeichter also wieso Inkompatible typen Integer und String?
Christian S. - So 16.02.03 19:50
In Popov's Code ist FormX.Fragen ein String, bei Deinem ursprünglichen Code ein Integer. Vielleicht liegt es daran?
| Zitat: |
| Bin nunmal noch ein anfänger kann ich doch nix dafür ich meine jeder hat mal angefangen und haufenweiße fehler gemacht selbst wenn es erklärt wurde |
Als ich Turbo Pascal lernte, hatte ich noch keinen Internetanschluss (war so die Zeit 14.4k Modems, die damals sau teuer waren) und für Informatikunterricht war ich noch zu jung. Das meiste habe ich mich mir aus der Hilfedatei selbst beigebracht. Sei froh, dass es Foren gibt. Mein erstes Programm war eine einzige riesige IF-Abfrage, in der ich eine Eingabe mit gespeicherten Nachnamen verglich, um dann die passende Adresse auszugeben. Das waren 30 IF-Abfragen! :lol:
| Zitat: |
| und JS bin ich auch kein experte |
Und scheinst noch nie die Operatoren || und && benutzt zu haben?
MfG,
Peter
1Stein - So 16.02.03 19:56
doch aber selten naja ich guck mal also muss ich Fragen gleich als String machen wenn ich das jetzt richtig verstanden hab
Wo es 14.4k Modems gab hatte ich keins damals hab ich mit nem Kumpel vorm PC gehockt und sinnlose progs in Basic (QBasic) geschrieben war ne lustige zeit mit win 3.11 :P :roll: :P
Anonymous - So 16.02.03 22:33
| 1Stein hat folgendes geschrieben: |
| Bin nunmal noch ein anfänger kann ich doch nix dafür ich meine jeder hat mal angefangen und haufenweiße fehler gemacht selbst wenn es erklärt wurde sorry falls ihr ne ausnahme seit aber das glaub ich eher net naja ich gucks mir nochmal an aber ich hab vorher immer nur mit HTML und JS gearbeitet und JS bin ich auch kein experte ich ... ach naja ich glaub ihr wisst was ich |
Ich will nicht der sein der sich beschwert. Was Kommas angeht, so bin ich auch nicht der beste. Warum? Ist eigentlich eine lange Geschichte. Aber die Methode "Auch ein blindes Huhn findet mal ein Korn" ist immer noch besser als überhaupt kein Komma. Und die fehlenden Punkte am Satzende? So versagen kann doch eine Schule nicht.
Mir ist klar, daß man früher in den Foren alles klein geschrieben hat. Der Grund war, daß die Onlinezeit teuer war. Es ist zwar nicht so schlimm ist wie fehlende Punkte, wenn es aber nicht sein muß.
ansonstenhabichnichtsdagegenwenneinersoschreibtwieerwill
1Stein - So 16.02.03 23:55
| Popov hat folgendes geschrieben: |
| So versagen kann doch eine Schule nicht. |
sicher? ich hab in deutsch ne 4- und ich schreib schon ewigkeiten so wenn mir zufällig mal einfällt das da nen komma hin kommt dann kommts halt hin und was die teuere online zeit angeht ich hab ne dsl flatrate also daran liegts net :mrgreen:
Anonymous - Mo 17.02.03 00:17
Du kannst so weiter machen. Nur wundere dich nicht, wenn irgendwann keiner auf deine Fragen antwortet. Hin und wieder macht man das, meistens hat man aber keine Lust sich solche Texte anzutun und Texte zu deuten. Wenn du also so weiter machen willst, dann mach es.
Christian S. - Mo 17.02.03 11:04
| Zitat: |
| doch aber selten naja ich guck mal also muss ich Fragen gleich als String machen wenn ich das jetzt richtig verstanden hab |
Es müssen ja nicht gerade Kommas sein, wenn Dir die nicht liege (Spätestens bei Deiner ersten Bewerbung solltest Du sie Dir wieder angewöhnen), aber bei einem solchen Satz wäre es schon schön, ein paar - irgendwie geartete - Trennzeichen hinein zu bringen.
MfG,
Peter
Wolff68 - Mi 19.02.03 20:15
@1stein:
Worauf Du (wie in Java) achten solltest, ist auch der Unterschied eines Vergleiches zu einer Zuweisung.
Wie oben bereits in der Tabelle beschrieben:
Vergleich a = b (entspricht Java a = b)
Zuweisung a := b (entspricht Java a == b)
Also IF a = b then a := b;
Und das AND dient weder hier noch in Java dazu mehrere Anweisungen in einen Block zu verwandeln.
PS: Ja, wir alle waren mal Anfänger. Und in einigen Bereichen bin ich das Heute noch. Aber es gibt Grundlagen. Und diese sind mit einem Buch / Tutorial / OnlineHilfe besser zu erarbeiten als mit 1000 Fragen in einem Forum.
Bitte verstehe die gut gemeinten Ratschläge nicht falsch. Aber beherzige sie bitte.
Wir haben nichts gegen Newbies und nichts gegen Dich persönlich.
(Zumindest nichts wirksames :wink: )
Delete - Mi 19.02.03 20:39
| Wolff68 hat folgendes geschrieben: |
Vergleich a = b (entspricht Java a = b)
Zuweisung a := b (entspricht Java a == b) |
Damit hast du voll daneben gehauen, denn es ist genau anders herum.
Quelltext
1: 2:
| a = b <-> a == b a := b <-> a = b |
Christian S. - Mi 19.02.03 20:58
@Wolff68, MathiasSimmack: das alles steht doch schon in der allerersten Antwort zu diesem Thread! Deswegen war ich ja so überrascht, dass 1Stein diesen komplett fehlerhaften Code gepostet hatte!
MfG,
Peter
Wolff68 - Do 20.02.03 06:57
:oops:
Delete - Do 20.02.03 10:26
| Peter Lustig hat folgendes geschrieben: |
| das alles steht doch schon in der allerersten Antwort zu diesem Thread! |
Habe ich, ehrlich gesagt, erst später gelesen.
| Popov hat folgendes geschrieben: |
| Zum Beispiel AND. Es dient dazu zwei Werte zu vergleichen ... |
Nicht ausschließlich.
| Zitat: |
| ... und ein Ergebnis zu liefern. Es ist nicht dazu da zwei Anweisungen zu verschmelzen. |
Manchmal schon. Wenn du z.B. ein bestimmtes Bit aus einem Wert entfernen willst, dann machst du das z.B. über "and not". Willst du ein anderes Bit einem Wert hinzufügen, dann geht das mit "or". Ich lege dir als Beispiel mal diese Funktion ans Herz, die du im PSDK finden kannst:
Quelltext
1: 2: 3: 4: 5: 6:
| VOID SetView(HWND hWndListView, DWORD dwView) { DWORD dwStyle = GetWindowLong(hWndListView, GWL_STYLE); if ((dwStyle & LVS_TYPEMASK) != dwView) SetWindowLong(hWndListView, GWL_STYLE, (dwStyle & ~LVS_TYPEMASK) | dwView); } |
Sie dient zum Umschalten der Ansicht einer API-Listbox; und in Delphi sieht sie so aus:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure SetView(hWndListView: HWND; dwView: dword); var dwStyle : dword; begin dwStyle := GetWindowLong(hWndListView,GWL_STYLE); if(dwStyle and LVS_TYPEMASK <> dwView) then SetWindowLong(hWndListView,GWL_STYLE, (dwStyle and not LVS_TYPEMASK) or dwView); end; |
Was ich sagen will: wenn man von C/Java/JavaScript/Perl/usw. kommt und Code nach Delphi umsetzen will, kann man in dieser Beziehung (vergleichendes oder bitweises AND/OR/NOT?) nicht viel falsch machen, weil es eben nur AND, OR und NOT gibt. Will man aber Delphi-Code z.B. nach C umsetzen, dann muss man schon aufpassen! Es macht, IMHO, einen großen Unterschied ob man && oder nur & benutzt.
Dem PSDK liegt ein Beispiel bei (im Ordner "Samples/winui/Controls/Common/VListVw"). Dort findet sich die o.g. C-Funktion. Wer will, kann ja mal testen, welche Auswirkungen
Quelltext
1:
| (dwStyle && !LVS_TYPEMASK) || dwView); |
hat. :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!