Avatar billede juzas Mester
08. april 2022 - 20:39 Der er 5 kommentarer og
1 løsning

Delphi Udplug en string fra edit text

Hej.
Mangler lidt hjælp til at udtage tallet mellem ( ).

Har denne tekst i en edit1: "210 (32)"
Har denne tekst i en edit2: "32 (3233)"

Vil gerne have tallet mellem ( ) fra edit1 i en edit3.
Vil gerne have tallet mellem ( ) fra edit2 i en edit4.

Tallet mellem ( ) svinger så det kan være alt fra 0 - 1000.
Avatar billede arne_v Ekspert
08. april 2022 - 20:45 #1
Lyder som en sag for regex!
Avatar billede arne_v Ekspert
09. april 2022 - 02:57 #2
Det her virker i Lazarus/FPC:


program regexfun;

uses
  RegExpr;

var
  re : TRegExpr;

begin
  re := TRegExpr.Create('\d+\s*\(\s*(\d+)\s*\)');
  re.Exec('123 ( 456 )');
  writeln(re.Match[1]);
end.
Avatar billede arne_v Ekspert
09. april 2022 - 03:00 #3
Jeg vil tro at det samme i Delphi skal laves som (utestet!):


program regexfun;

uses
  RegEx;

var
  re : TRegEx;
  m : TMatch;

begin
  re := TRegEx.Create('\d+\s*\(\s*(\d+)\s*\)');
  m := re.Match('123 ( 456 )');
  writeln(m.Groups.Item[1].Value);
end.


Men proev dig lidt frem.
Avatar billede juzas Mester
09. april 2022 - 17:02 #4
Har prøvet en del nu. Jeg få denne fejl ved din kode "I/O error105)

Fortæller koden også at tallet mellem ( ) skal vises i en anden edit.
Avatar billede arne_v Ekspert
09. april 2022 - 20:48 #5
Koden udtrækker kun det tal der står mellem parenteserne som en string.

Men det er nemt at assigne til en kontrol så.
Avatar billede arne_v Ekspert
09. april 2022 - 20:48 #6
Hvordan ser din Delphi kode ud nu og hvilken linie giver den fejl?
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