AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Pos Routine nachprogrammieren ohne den Assembler zu benutzen?
Thema durchsuchen
Ansicht
Themen-Optionen

Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

Offene Frage von "-187-"
Ein Thema von hoan504 · begonnen am 26. Feb 2011 · letzter Beitrag vom 28. Feb 2011
Antwort Antwort
Seite 1 von 2  1 2      
hoan504

Registriert seit: 26. Feb 2011
8 Beiträge
 
Delphi 7 Professional
 
#1

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 26. Feb 2011, 19:14
ist es denn wenigstens möglich mir einen Tipp zu geben welche Schleife ich am besten nehmen sollte
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 26. Feb 2011, 19:16
Wenn wir dir jetzt sagen, dass es mit allen drei (for/repeat/while) geht, wirst du nicht wirklich glücklicher damit werden Fang doch einfach mal mit einer davon an und überleg dir, wie es gehen könnte. Kommst du nicht weiter, dann poste hier und wir versuchen dir zu helfen.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#3

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 26. Feb 2011, 20:12
Überleg dir ja erstmal, wie du es "manuell" machen würdest.

Da könnte man sich nun Scrabble-Steine nehmen, daraus zwei "Strings" zusammenstellen und sich dann überlegen, wie man am einfachsten vorgeht.

Dann schreibt man sich z.B. einen Ablauflan auf und versucht anschließend daraus einen Code zu entwickeln.

Als Schleife(en) kann man sich nur für While oder For-To entscheiden.
Repeat-Until ginge auch, aber es wäre hier wohl einfacher, wenn man die Schleifenbedingung erst prüft, bevor man darin was abarbeitet, aber zusammen mit einem If-Then ginge auch das Repeat.
Außerdem kann man nun die Strings zeichenweise verglichen, über s[i] , oder man geht z.B. über Copy oder Dergleichen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
hoan504

Registriert seit: 26. Feb 2011
8 Beiträge
 
Delphi 7 Professional
 
#4

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 27. Feb 2011, 10:18
Hier erstmal mein Quellcode:

function ipos (Const Substr : string; s : String) : integer;
Var i,j : integer;
begin
ipos := 0;
If (length(substr) = 1) then
begin
for i:=1 to length(s) if (s[i]= Substr) then ipos := i;
end
else
If (length(substr) > 1) then
begin
for i:=1 to length(s) do
if (s[i]= Substr[1]) then
for j:=2 to length(substr) do
if (substr[j] = s[i+1]) then ipos := i
else
ipos := -1;
end;
end;

funktioniert so erstmal ganz gut, aufgrund der for-schleife gibt es nur ein Problem: es wird immer die letzte stelle geliefert an der etwas gefunden wurde.
Wie kann ich denn die For - Schleife verlassen sobald der if-befehl erfüllt ist?
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#5

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 27. Feb 2011, 10:47
Exit ?

PS: Setz dein Code mal in Delphi Tags und formatier ihn ordentlich^
  Mit Zitat antworten Zitat
Notxor

Registriert seit: 28. Okt 2009
41 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 27. Feb 2011, 10:50
Wohl eher break .
exit verlässt die gesamte Prozedur/Funktion
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#7

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 27. Feb 2011, 10:53
Er will doch auch die Methode verlassen wenn die if Bedingung erfüllt ist ?

Edit: hoan504, da fehlt ein "do" in deinem Code

Geändert von -187- (27. Feb 2011 um 10:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#8

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 27. Feb 2011, 11:04
For-Downto, Delphi-Referenz durchsuchenExit oder Delphi-Referenz durchsuchenBreak
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Notxor

Registriert seit: 28. Okt 2009
41 Beiträge
 
Delphi XE2 Professional
 
#9

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 27. Feb 2011, 11:12
der Index in der letzten If-Abfrage scheint auch nicht zu stimmen. mMn gehört da auf alle Fälle ein "j" mit hinein, nicht nur "i+1"
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#10

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 27. Feb 2011, 11:26
Nach der letzten else Bedingung wäre auch Result:=0; richtig anstelle von Result:=-1;

Oder täusche ich mich ?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:57 Uhr.
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