Article View: pl.comp.lang.delphi.bazy-danych
Article #82458Re: DBText i ilość miejsc po przecinku
From: wloochacz
Date: Thu, 29 Jan 2015 20:19
Date: Thu, 29 Jan 2015 20:19
62 lines
3467 bytes
3467 bytes
W dniu 2015-01-29 o 18:04, Bartek pisze:
> Witam
>
>> Użytkownik "wloochacz" napisał w wiadomości grup
>> dyskusyjnych:54ca465c$0$2642$65785112@news.neostrada.pl... Próbowałeś
>> ustawić DisplayFormat i EditFormat dla pola?
>> Czyli:
> >(PostgreSQLQuery.FieldByName('Pole') as TNumericField).DisplayFormat
>> := ',0.00######';
>> ten kod wstawić w zdarzeniu AfterOpen PostgreSQLQuery.
>> No chyba, że masz pola dodane w edytorze pól DataSetu - to możesz tam
>> to po prostu Wpisać.
>
> No i super, dzięki to rozwiązanie się sprawdziło
>
> Zrobiłem tak
>
> Ulista.Form_lista.DBText7.DataSource := Ulista.Form_lista.DataSource_lista;
> Ulista.Form_lista.DBText7.DataField := 'wskaznik';
> (Ulista.Form_lista.ZQuery_lista.FieldByName('wskaznik') as
> TNumericField).DisplayFormat:= ',0.00######';
>
> I działa bez problemu, chociaż mam pytanie.
> Co zrobić żeby zamiast kopek były przecinki, jak to zmiennie na
> ',0,00######'; to nie działa, pokazują się same zera.
Złośliwie to będzie, że kopki to mogą być siana...
Mniej złośliwie - RTFM!
Dla przedszkolaka - to (czyli ',0.00######') jest maska i nie ma nic
wspólnego z wyświetlaniem kropek lub przecinka jako separatora części
ułamkowej. Czy tam będzie kropka lub przecinek, zależy od ustawień
regionalnych systemu - i tak ma być.
Ale doczytaj sobie o konstrukcji masek w manualu - co ja będę się
powtarzał...
Tam jest jasno opisane, co oznacza przecinek, kropka,
0 i płotek...
> No i jeszcze jedno pytanie, jak do tego co wyświetla DBText dodać
> jednostkę np. [kw], lub [h] itd,
Tak samo - ustal odpowiednią maskę wyświetlania dla pola, w tym
przypadku będzie to (na przykład) taka:
'0,00## [h]' - godzina zapisywana jako wartość metryczna? Straszna lipa
i lenistwo - imho...
'0,00## [kW]' - a nie kw...
Jeśli to ma być pole edycyjne (np. TDBEdit), ustal odpowiednią maskę
(TField.EditFormat) dla edycji - bo inaczej nie będzie dobrze dla
użytkownika.
> Normalnie zrobił bym tak Label1.Caption := zmienna + '[kw]';
To nie jest normalnie. No chyba że wg standardów fachowców z
4programmers ;-)
Normalnie to będzie za pomocą maski.
Mniej normalnie, za pomocą zdarzeń TField.OnSet/OnGetText (zasada będzie
podobna jak przy labelu).
> No ale to nie działa w tym przypadku.
Co nie działa? Wszystko działa ;-)
--
wloochacz
Technical Details
Message-ID:
<54ca95eb$0$2164$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<madebo$d82$1@news.icm.edu.pl> <54ca465c$0$2642$65785112@news.neostrada.pl> <madp7r$o2s$1@news.icm.edu.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Date: Thu, 29 Jan 2015 21:19:54 +0100 From: wloochacz <wloochacz@no.spam.gmail.com> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 Newsgroups: pl.comp.lang.delphi.bazy-danych Subject: Re: DBText i ilość miejsc po przecinku References: <madebo$d82$1@news.icm.edu.pl> <54ca465c$0$2642$65785112@news.neostrada.pl> <madp7r$o2s$1@news.icm.edu.pl> In-Reply-To: <madp7r$o2s$1@news.icm.edu.pl> Lines: 62 Message-ID: <54ca95eb$0$2164$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 79.186.132.178 X-Trace: 1422562795 unt-rea-b-01.news.neostrada.pl 2164 79.186.132.178:3621 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit