Toon posts:

[Delphi] Versie uit register halen, tekst ervoor weghalen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik moet voor een auto-update prog versienummers uit het register halen. Op dit moment hebben we bepaald dat er nu standaard achter version in het register 1.70 staat, een getal, een punt en nog een getal.
Nu zijn er echter bij sommige oudere versies voor deze waarde versie of versie: voorgezet of wat voor gevalletjes ook. Nu vroeg ik me af hoe je deze teksten weg kan halen.

Ik wilde het proberen d.m.v (bijvoorbeeld bij versie: (spatie))
Delphi:
1
2
RegVersion := Reg.ReadString('Version');
Delete(RegVersion, 1, 8);
Dus 1e tot en met 8e character verwijderen, maar dan heb je dus de kans dat je (ook) een gedeelte van het versienummer verwijderd (als er iets anders of niets voor staat) en dit nummer moet later dus vergeleken worden met een update versienummer.

Weet iemand een manier om echt aléén het getal met punt (dus *.**) over te houden?

  • whoami
  • Registratie: December 2000
  • Laatst online: 12:06
Kijk eens naar de substring, etc.... methods in Delphi.

https://fgheysels.github.io/


  • jvdmeer
  • Registratie: April 2000
  • Nu online
Probeer eens (ff uit mijn hoofd)

Delphi:
1
RegVersion=Copy(RegVersion,Pos(regVersion,'.')-1,4)


Oftewel kopieer vanaf 1 teken voor de punt de eerstvolgende 4 tekens.

Verwijderd

Topicstarter
Bijna: >:)
Dit is 'm
Delphi:
1
RegVersion := Copy(RegVersion, Pos('.', RegVersion) -1, 4);

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Of je pakt er een Regex engine bij en laat "[0-9]+(\.[0-9]+)*" erop los ;)

日本!🎌