Autor Téma: ReplaceText(s, ' ', '') - nič neurobí  (Přečteno 447 krát)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2730
  • Karma: 105
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:ReplaceText(s, ' ', '') - nič neurobí
« Odpověď #15 kdy: 18-11-2020, 12:10:23 »
Budto pouzij
Kód: Delphi [Vybrat]
  1. NewValue:= StringReplace(NewValue, FormatSettings.ThousandSeparator, '', []);

nebo
Kód: Delphi [Vybrat]
  1. NewValue:= NewValue.Replace(FormatSettings.ThousandSeparator, '')
;
Embarcadero MVP - Czech republic

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5531
  • Karma: 42
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:ReplaceText(s, ' ', '') - nič neurobí
« Odpověď #16 kdy: 18-11-2020, 12:25:29 »
Ďakujem. Ja všetky tie funkcie veľmi nepoznám.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline martinnr

  • Plnoletý
  • ***
  • Příspěvků: 189
  • Karma: 2
    • Verze Delphi: 7,2009,XE7
Re:ReplaceText(s, ' ', '') - nič neurobí
« Odpověď #17 kdy: 18-11-2020, 12:56:11 »
mozno by pomohlo popisat, na co to cele potrebujes...
ale podla webu by trieda TDBAdvEdit mala mat aj property "Value", ktora vrati hodnotu z editu ako desatinne alebo cele cislo, podla toho, ako je nastaveny typ hodnoty. tam by to mal vratit samozrejme bez oddelovaca tisicov a previest float na strin asi neni problem...

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5531
  • Karma: 42
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:ReplaceText(s, ' ', '') - nič neurobí
« Odpověď #18 kdy: 18-11-2020, 13:14:03 »
Citace
ale podla webu by trieda TDBAdvEdit mala mat aj property "Value", ktora vrati hodnotu z editu ako desatinne alebo cele cislo
Viem o tom. Keď som daný kód písal, tak som sa v tom veľmi nevyznal. Kvôli univerzálnosti som pracoval, aj pracujem, s textom. Prvá použitá funkcia naň je Trim(). Je to základná príprava zadanej hodnoty.
Potom nasleduje automatická prvotná kontrola zadaných údajov. To už ide podľa EditType. Napr. minimálny počet znakov pri texte, len kladná hodnota či (ne)povolená nulová hodnota pri číselných údajoch...
Funguje to. Možno to ešte v budúcnosti prerobím.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline František

  • Guru
  • *****
  • Příspěvků: 607
  • Karma: 6
    • Verze Delphi: primárne v XE5, občas 10.2.3 comunity
Re:ReplaceText(s, ' ', '') - nič neurobí
« Odpověď #19 kdy: 18-11-2020, 18:36:14 »

No to mi na um neprišlo.Keby som to vedel ??? . Je to text z TDBAdvEdit pri EditType = etMoney.

a nemá to nejakú funkciu ako CurrToStr?

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5531
  • Karma: 42
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:ReplaceText(s, ' ', '') - nič neurobí
« Odpověď #20 kdy: 18-11-2020, 20:19:41 »
Samotný komponent nie.
Ale ako písali iní. Keby som priamo pracoval s číselnými hodnotami, tak by ten problém nevyskočil. Toho som si bol vedomý.
Na druhú stranu by sa mi to značne skomplikovalo, lebo by som sa musel rozhodovať podľa typu.
To je úvodná, všeobecná časť. Rozhodovanie podľa typu je až na konci tejto funkcie.
.
Teraz mi vyskočila chyba pri priraďovaní hodnoty do DB, že nemôže reťazec Unicode '' konvertovať na číslo. Je zaujímavé, že doteraz mu to nevadilo. Rád by som vedel prečo.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2730
  • Karma: 105
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:ReplaceText(s, ' ', '') - nič neurobí
« Odpověď #21 kdy: 18-11-2020, 22:30:06 »
Teraz mi vyskočila chyba pri priraďovaní hodnoty do DB, že nemôže reťazec Unicode '' konvertovať na číslo. Je zaujímavé, že doteraz mu to nevadilo. Rád by som vedel prečo.

Jak chces prazdny retezec konvertovat na cislo? Je mozne ze je to null hodnota a ti ji ctes jako string a predtim se s tim pracovalo jako s null hodnotou. Nechces nez se priste zeptas prvni sam trosku zamyslet?
Embarcadero MVP - Czech republic

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5531
  • Karma: 42
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:ReplaceText(s, ' ', '') - nič neurobí
« Odpověď #22 kdy: 19-11-2020, 08:23:47 »
 :D To čo píšeš už viem. Aj som to z voleja opravil. Ja som sa len pozastavil nad tým, že to doteraz akosi nevadilo.
Otázka tam je: prečo to doteraz bolo OK? To je to čo mi nejde do hlavy. Nepredpokladám, že dostanem nejakú ako-tak vysvetľujúcu odpoveď.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.