AGB  ·  Datenschutz  ·  Impressum  







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

Eingabe mischen

Ein Thema von STS301 · begonnen am 16. Okt 2008 · letzter Beitrag vom 17. Feb 2014
Antwort Antwort
Seite 2 von 4     12 34      
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: Eingabe mischen

  Alt 16. Okt 2008, 09:34
Sollte in etwas so gehen:

Delphi-Quellcode:
procedure Shuffle(var s: String);
var
  i, j: integer;
  temp : Char;
begin
  for i := length(s)-1 downto 1 do
  begin
    j := Random(i);
    temp := s[i];
    s[i] := s[j];
    s[j] := temp;
  end;
end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#12

Re: Eingabe mischen

  Alt 16. Okt 2008, 09:35
Nicht die eleganteste Methode, aber versuch es mal so:
Delphi-Quellcode:
function StrMerge(src: string): string;
var i,j: integer;
begin
  SetLength(Result,Length(src));
  j := 1;
  while Length(src) > 0 do
    begin
      i := Random(Length(src)) + 1;
      Result[j] := src[i];
      Delete(src,i,1);
      inc(j);
    end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#13

Re: Eingabe mischen

  Alt 16. Okt 2008, 09:56
es funktioniert beides unter Lazarus nicht
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: Eingabe mischen

  Alt 16. Okt 2008, 09:58
Zitat von STS301:
es funktioniert beides unter Lazarus nicht
Wo mosert denn der Lazarus?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#15

Re: Eingabe mischen

  Alt 16. Okt 2008, 10:00
gar nichts es macht einfach nichts
hier der Code
Delphi-Quellcode:
unit tausch;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    function StrMerge(src: string):String;
    procedure Shuffle ( s:String);
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
begin
  Shuffle(Edit1.Text); //bei StrMerge(Edit1.text) funtkioniert es auch nicht
end;

function TForm1.StrMerge(src: string): string;
var i,j: integer;
begin
  SetLength(Result,Length(src));
  j := 1;
  while Length(src) > 0 do
    begin
      i := Random(Length(src)) + 1;
      Result[j] := src[i];
      Delete(src,i,1);
      inc(j);
    end;
end;

procedure TForm1.Shuffle( s:String);
var
  i, j: integer;
  temp : Char;
begin
  for i := length(s)-1 downto 1 do
  begin
    j := Random(i);
    temp := s[i];
    s[i] := s[j];
    s[j] := temp;
  end;

 end;
initialization
  {$I tausch.lrs}

end.
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#16

Re: Eingabe mischen

  Alt 16. Okt 2008, 10:01
Bei Klaus' Code muss das ein Var-Parameter sein und meins ist eine Funktion.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#17

Re: Eingabe mischen

  Alt 16. Okt 2008, 10:37
dann steicht er mir Shuffle(edit1.text) an und sagt
Error: Argument can't be assigned to

wenn ich
Delphi-Quellcode:
var
f: String;
begin
edit1.text:= f;
Shuffle(f);
end;
schreibe, dann löscht er den den Eintrag und macht nichts
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#18

Re: Eingabe mischen

  Alt 16. Okt 2008, 10:52
Vielleicht solltest Du mal ein Grundlagentutorial lesen.
Delphi-Quellcode:
var
f: String;
begin
  f := edit1.text;
  Shuffle(f);
  edit1.text:= f;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#19

Re: Eingabe mischen

  Alt 16. Okt 2008, 10:57
wird nur gelsöscht, aber nicht ausgegeben
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#20

Re: Eingabe mischen

  Alt 16. Okt 2008, 10:57
Hallo,

ich musste die shuffle Routine noch etwas anpassen:


Delphi-Quellcode:
procedure Shuffle(var s: String);
var
  i, j: integer;
  temp : Char;
begin
  for i := length(s) downto 1 do
  begin
    j := Random(i)+1;
    temp := s[i];
    s[i] := s[j];
    s[j] := temp;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  s: String;
begin
  s:= Edit1.Text;
  shuffle(s);
  Edit1.Text:=s;
end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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:44 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