Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Pos Routine nachprogrammieren ohne den Assembler zu benutzen? (https://www.delphipraxis.net/158686-pos-routine-nachprogrammieren-ohne-den-assembler-zu-benutzen.html)

-187- 27. Feb 2011 17:06

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?
 
Zitat:

Zitat von Sir Rufo (Beitrag 1084689)
Und nein, bei 0 anfangen ist nicht sinnvoller, da ein String bei 1 anfängt und nicht bei 0.

Eben, und aus diesem Grund ist ein -1 für kein Ergebnis auch sinnfrei :)

hoan504 27. Feb 2011 17:26

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?
 
ihr habt natürlich völlig recht, irgendwie habe ich das vorher garnicht bemerkt :wall:

allerdings versteh ich das mit dem teilstring vom ganzen string abziehen nicht so ganz

-187- 27. Feb 2011 17:42

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?
 
Was genau meinst du damit :?: ?

Immer wenn ein Wort gefunden und umgedreht wurde wird der Satz Ausgangsatz natürlich verkürzt damit das nächste Wort gefunden werden kann. Sonst w+rde man immer das selbe Wort finden :)

War das deine Frage?

Edit: Hast du denn was eigenes geschrieben ? Zeig uns deinen Code :P

Sir Rufo 27. Feb 2011 19:05

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?
 
Zitat:

Zitat von hoan504 (Beitrag 1084704)
allerdings versteh ich das mit dem teilstring vom ganzen string abziehen nicht so ganz

wo, wie, was, wer sagt denn was davon?

Wenn du von einem String nur einen Teil haben möchtest, dann nimmst du am besten die Funktion copy
Delphi-Quellcode:
// Copy( AString, APosition, ALänge ) -> liefert einen String zurück
ShowMessage( Copy( 'Hallo wie gehts?', 7, 3 ) ); // zeigt "wie" an
// Der Parameter für die Länge kann auch weggelassen werden
ShowMessage( Copy( 'Hallo wie gehts?', 7 ) ); // zeigt "wie gehts?" an

Notxor 27. Feb 2011 19:16

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?
 
Zitat:

Zitat von Sir Rufo
Und nein, bei 0 anfangen ist nicht sinnvoller, da ein String bei 1 anfängt und nicht bei 0.

Tatsächlich :shock:

War der Meinung, ein String beginnt mit 0, ähnlich einem dyn. Array. Gut zu wissen :idea:

himitsu 27. Feb 2011 19:19

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?
 
Nein, Strings fangen immer bei 1 an.

Grund ist der "Urstring" aka ShotString.

Dort ist bei [0] das Längenbyte und das erste Zeichen fing demnach bei 1 an.

hoan504 27. Feb 2011 19:23

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?
 
ich versteh gar nicht wie wir auf einmal auf copy gekommen sind :gruebel:

eigentlich habe ich nur deinen ersten Programmartigen Code gemeint. Inzwischen funktioniert das Programm aber sowieso einwandfrei, dank der vielen Tipps.

omata 27. Feb 2011 21:08

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?
 
Zitat:

Zitat von hoan504 (Beitrag 1084627)
Wie kann ich denn die For - Schleife verlassen sobald der if-befehl erfüllt ist?

Wenn man eine Schleife vorzeitig beenden möchte, dann benutzt man eine kopf- oder fussgesteuerte Schleife. Also garantiert keine FOR-Schleife, sondern WHILE oder REPEAT.

himitsu 27. Feb 2011 21:16

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?
 
Zitat:

Zitat von omata (Beitrag 1084748)
Also garantiert keine FOR-Schleife

Das würde ich so nicht unterschreiben.

Break existiert nicht umsonst und damit kann man alle Schleifen abbrechen.

Luckie 27. Feb 2011 21:19

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?
 
Aber omatas Lösung ist schöner, da man die Abbruchbedingung sofort sieht. Break ist eigentlich nur ein verstecktes goto und darüber müssen wir wohl nicht diskutieren. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz