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 4  1 23     Letzte »    
hoan504

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

Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 26. Feb 2011, 20:09
Delphi-Version: 7
Hallo Delphi - Praxis,

Ich soll für die Schule die Pos - Funktion aus Delphi nachprogrammieren. Dafür soll ich nicht den Assembler benutzen(so etwas ist ja auch schon in der Code Libary).
Leider funktioniert auf meinem Windows 7 die Delphihilfe auch nicht und an Sysutils oder an die Systemunit komme ich nicht dran.

Mein Plan wäre jetzt über eine Schleife den String nach dem ersten Zeichen des Teilstrings durchsuchen zu lassen und
dann zu prüfen ob die anderen Zeichen in der richtigen Reihenfolge dahinterstehen und nur dann die Position des ersten auszugeben.
Die Frage ist nur wie ich das machen soll?

Vll. fällt ja irgendwem eine Lösung dazu ein.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 26. Feb 2011, 20:11
wo genau liegt jetzt dein Problem? Die Lösung hast du ja bereits beschreiben. Fertigen Code werden wir dir nicht geben. Wie sieht dein bisheriger Code aus und was funktioniert daran anders als erwartet?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
hoan504

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

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 26. Feb 2011, 20:12
moment da muss ich jetzt erst schaffen den code wieder von meinem Server zu ziehen
  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 26. Feb 2011, 20: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
 
#5

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 26. Feb 2011, 20: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.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 26. Feb 2011, 21: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.
$2B or not $2B
  Mit Zitat antworten Zitat
hoan504

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

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 27. Feb 2011, 11: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
 
#8

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 27. Feb 2011, 11: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
 
#9

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 27. Feb 2011, 11: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
 
#10

AW: Pos Routine nachprogrammieren ohne den Assembler zu benutzen?

  Alt 27. Feb 2011, 11: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 11:55 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 20:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz