Avatar billede juzas Mester
25. august 2012 - 15:37 Der er 12 kommentarer og
1 løsning

Vigtig spørgsmål om label

Hej folkens. Er ved at programmere et program men mangler den sidste del. Har prøvet alt men kan ik finde en kode, så nu vil jeg se om i kan hjælpe mig.

Har en "label", som talne "123456789" stå i. Hvordan kan jeg med en kode på ind og slet tallet "4"?

eller hvis der nu har stået "Hej med dig", så gå ind og slet "med".

Håber nogle kan hjælpe. :)
25. august 2012 - 16:35 #1
HEJ

Du kan bruge funktionen SEARCH_AND_REPLACE.

Kristian

PS: Link kommer om nogel minutter....
25. august 2012 - 16:36 #2
25. august 2012 - 16:39 #3
eller
hvis du er over Delphi 5 (dsv. Delphi 6 ++++ --> )

StringReplace (men den er lidt sværere at håndtere).


Kristian
Avatar billede juzas Mester
25. august 2012 - 16:45 #4
Det er delphi 7
Avatar billede juzas Mester
25. august 2012 - 16:53 #5
Har kikket lidt på den kode. Kan ik helt få denne kode til at virke:

sOldString:='testing;search;and;replace';
sNewString:=SearchAndReplace(sOldString, ';', ' ')

hvordan skal det se ud når jeg fx skal slet tallet "5"?
Avatar billede kroning Nybegynder
25. august 2012 - 17:12 #6
sOldString:='123456789';
sNewString:=StringReplace(sOldString, '5', '',[rfReplaceAll,rfIgnoreCase]);
Avatar billede juzas Mester
25. august 2012 - 17:34 #7
nu ser den sådan ud:

function SearchAndReplace
    (sSrc, sLookFor, sReplaceWith : string) : string;
var
    nPos, nLenLookFor : integer;
begin
    nPos := Pos(sLookFor, sSrc) ;
    nLenLookFor := Length(sLookFor) ;
    while (nPos > 0) do begin
      Delete(sSrc, nPos, nLenLookFor) ;
      Insert(sReplaceWith, sSrc, nPos) ;
      nPos := Pos(sLookFor, sSrc) ;
    end;
    Result := sSrc;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
sOldString:='123456789';
sNewString:=StringReplace(sOldString, '5', '',[rfReplaceAll,rfIgnoreCase]);
end;


men det virker ik "sOldString" Hvordan sår jeg den til at passe med min label?
25. august 2012 - 17:46 #8
HEJ

Din gamle:


procedure TForm1.Button1Click(Sender: TObject);
begin
sOldString:='123456789';
sNewString:=StringReplace(sOldString, '5', '',[rfReplaceAll,rfIgnoreCase]);
end;


din nye:

procedure TForm1.Button1Click(Sender: TObject);
begin
//  hent txt fra LabelNNN til sOldString

  sOldString := LabelNNNN.Text // LabelNNN.Text = '123456789';

//  Skift sOldstring til sNewstring -- sNewstring = sOldstring med rettelser 

  sNewString := StringReplace(sOldString, 
    '5','',rfReplaceAll,rfIgnoreCase]);

//  Skriv sNewsstring tilbage til LabelNNN som tekst.

  LabelNNN.text := sNewString; 

end;

Hvor LabelNNN er din label1 , 2 , 3 eller hvad nummer det nu måtte være ....

TaK til KRONING for "lån af kode " ..

Kristian
Avatar billede juzas Mester
26. august 2012 - 18:15 #9
Siger mange tak. Det virker nu.
Avatar billede juzas Mester
26. august 2012 - 18:16 #10
Hmm, hvordan udlever man pointne?
26. august 2012 - 20:10 #11
FORSLAG:

1/2 delen til Kroning og 1/2 delen til mig .

eller vent på Kronings kommentar.

Kristian
Avatar billede juzas Mester
28. august 2012 - 19:15 #12
Det vil jeg os, men er ny her ind, så slaæ æige finde ud af at give point... Hvordan gør man!
29. august 2012 - 00:28 #13
HEJ,

Som du ser (i bunden af siden, der hvor du skriver kommentarer og SVAR er der 2 RADIOBOKSE (de runde klik-felter, hvor KOMMENTARER er mærkemt med GRØN).

Jeg opretter nu et SVAR og det eneste du skal er at bekræfte.

KRistian
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester