AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

procedure tauschen

Ein Thema von tobiasw · begonnen am 20. Nov 2004 · letzter Beitrag vom 20. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2      
tobiasw

Registriert seit: 11. Nov 2004
156 Beiträge
 
Delphi 2005 Architect
 
#1

procedure tauschen

  Alt 20. Nov 2004, 10:51
hi,

ich soll eine Procedure schreiben die ein Wort vertauscht also das Beispiel Test das Ergebnis wäre tset mit nem Button bekomm ich es ja hin. Das sieht so aus nur wie mach ich es mit einer Procedure?
Ich hoffe jemand hat eine Lösung

Gruß
tobiasw
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
i,zahl:integer;
e1, zwerg, ausgabe:string;
begin
ausgabe:='';
e1:=edit1.Text;
zahl:=length(e1);

for i:=zahl downto 1 do
begin
zwerg:=e1[i];
ausgabe:=ausgabe+zwerg;
end;
edit2.text:= ausgabe;

end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#2

Re: procedure tauschen

  Alt 20. Nov 2004, 10:54
Hi,

ich würde keine "Procedure" benutzen (Button1Click ist übrigens eine Prozedur), sondern eine Function:
Delphi-Quellcode:
FUNCTION TauscheString(CONST aInString: STRING) : STRING;
BEGIN
{dein Code, wobei "e1" dem übergebenen String entspricht}
result := ausgabe
END;

{ Beispiel: }
ShowMessage(TauscheString('Test'));
Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
tobiasw

Registriert seit: 11. Nov 2004
156 Beiträge
 
Delphi 2005 Architect
 
#3

Re: procedure tauschen

  Alt 20. Nov 2004, 11:00
Danke für deine Antwort aber es soll mit einer Procedure sein z.B. procedure tauschen. Das Prob. ist ich kann nicht schreiben e1:=edit1.Text; weil er dann sagt undefinierter Bezeichner. die Procedure kann ich ja über einen Button dann aufrufen in dem ich dort schreib tauschen;
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: procedure tauschen

  Alt 20. Nov 2004, 11:27
steve hat vorgeschlagen, eine function zu machen, die einen string zurückgibt. in deinem fall schreibst du dann TauscheString('Test') und du bekommst einen string zurück, das könnte dann so in etwa aussehen:
Delphi-Quellcode:
function TauscheString(const Text: String): String;
var i,zahl:integer;
   e1, zwerg, ausgabe:string;
begin
   ausgabe := '';
   e1 := Text;
   zahl := length(e1);

   for i := zahl downto 1 do
   begin
      zwerg := e1[i];
      ausgabe := ausgabe + zwerg;
   end;
   Result := ausgabe;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    Label1.Caption := TauscheString('Test');
end;
eine procedure zu verwenden, ist in diesem fall eher ungünstig, da du durch die funktion gleich den umgekehrten string zurückbekommst, mit einer procedure müsstest du jetzt das ergebnis noch in einer variable speichern, ....
Oliver Hanappi
Besucht meine neue Homepage: http://oli.hux.de
  Mit Zitat antworten Zitat
tobiasw

Registriert seit: 11. Nov 2004
156 Beiträge
 
Delphi 2005 Architect
 
#5

Re: procedure tauschen

  Alt 20. Nov 2004, 11:44
ja das funktioniet nur es muss halt unbedingt in einer procedure sein. Kannst mir das mal zeigen wie das auszusehen hat.
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#6

Re: procedure tauschen

  Alt 20. Nov 2004, 11:51
Hi,

wenn's keine Funktion sein darf, warum auch immer , dann kannste nen VAR-Parameter übergeben:
Delphi-Quellcode:
procedure TauscheString(VAR aText: String);
var
  i : integer;
  dummy : string;
begin
  dummy := '';
  for i := length(aText) downto 1 do
  begin
     dummy := dummy + aText[i];
  end;
  aText := dummy;
end;

{ Beispiel }
procedure TForm1.Button1Click(Sender: TObject);
VAR
  txt : String;
begin
  txt := 'Test';
  Label1.Caption := 'Vorher: '  + txt; // 'Test'
  TauscheString(txt);
  Label2.Caption := 'Nachher: ' + txt; // 'tseT'
end;


//edit:
// Soll der ursprüngliche Wert erhalten bleiben, übergib ihn (z.B. CONST) und deklarier das Ergebnis als OUT:
PROCEDURE TauscheString2(CONST aInString: STRING; OUT aOutString: STRING);
Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#7

Re: procedure tauschen

  Alt 20. Nov 2004, 11:52
Hier mit einer Prodzedur. Die Prozedur selber sieht so aus:
Delphi-Quellcode:
procedure TForm1.Tauschen;
var
  s, neu: String;
  i: Integer;
begin
  s := Edit1.Text;
  neu := '';
  for i := Length(s) downto 1 do
    neu := neu + s[i];
  Edit1.Text := neu;
end;
In den "prvate" Breich der Form musst du sie auch noch reinschreiben:
Delphi-Quellcode:
  private
    { Private-Deklarationen }
    procedure Tauschen;
Und hier der Code des "Button1":
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Tauschen;
end;
Der Text zum Tauschen steht in "Edit1".

MfG Pr0g
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: procedure tauschen

  Alt 20. Nov 2004, 12:01
Delphi-Quellcode:
uses StrUtils;

...

procedure Foo;
begin
  Edit.Text := ReverseString(Edit1.Text);
end;
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: procedure tauschen

  Alt 20. Nov 2004, 12:02
Delphi-Quellcode:
procedure Swap(var value1, value2: Integer);
var
  temp: Integer;
begin
  temp := value1;
  value1 := value2;
  value2 := temp;
end;
Du musst die Parameter als var Parameter übergeben, damit die Speicheradressen übergeben werden und dort die Werte direkt zu ändern.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#10

Re: procedure tauschen

  Alt 20. Nov 2004, 12:04
Hi,

ReverseString is ne Funktion, gewünscht is aber ne Prozedur
Swap tauscht die Werte, es soll aber nur die Reihenfolge/Leserichtung eines Strings umgedreht werden


Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  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 06:52 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