🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi.bazy-danych
Article #82458

Re: DBText i ilość miejsc po przecinku

#82458
From: wloochacz
Date: Thu, 29 Jan 2015 20:19
62 lines
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-mail
References: <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