[Delphi] Przeliczanie rozmiaru danych (sposób zapisu!)

0

Witam!
Od razu zaznaczam, że chodzi mi o najlepszy sposób zapisu, a nie kod konwersji!

No ale zacznijmy od samego programu. Na formie mamy 5 editów, każdy reprezentuje jedną z wielkości (B, KB, MB, GB, TB). Wpisanie cyfr do jednego z editów powinno przeliczyc automatycznie resztę.
Chyba najprostszym sposobem byłoby w tej sytuacji zrobienie po 4 osobnych obliczeń dla OnKeyPress każdego z editów (w sumie 20 linii obliczeń dla tego konkretnego przypadku). Jednak, czy można zrobić to prosciej? Np jakąś procedurką? Nie chodzi mi tutaj o napisanie procedury opartej na 5ciu ifach, każdy z takim samym kodem jak w OnChange poszczególnych editów, bo to na pewno będzie gorsze rozwiązanie. Chodzi mi o uproszczenie tego w jakiś sposób.

Jak na razie jedyna myśl jaka mi do głowy przychodzi to procedurka z parametrem przesyłającym wielkość w TB. Czyli OnKeyPress edita odpowiedzialnego za np. MB, zamieniałoby to co wpisal użytkownik w polu MB na TB i przesyłało jako TB do procedurki, która mnożyłaby kolejne pola, wypisując po kolei wyniki. Takie rozwiązanie będzie zmieniało wszystkie edity, również ten, który aktualnie modyfikujemy, więc można tu dodać też sprawdzenie, który edit wywołuje procedurę (lub który jest aktywny) i nie wykonywać tej konkretnej konwersji, ale to kolejne linijki kodu i porównania. Dodatkowo, dochodzi tu kwestia 'niepotrzebnego' zamieniania MB na TB na samym początku, tylko po to, żeby póżniej te TB zamienić na inne jednostki. Czy to wszystko jest więc warte zachodu ? Może lepiej jednak zrobić po 4 konwersje w OnKeyPress każdego z Editów ? No chyba, że jakąś jeszcze inną, prostszą możliwość przegapiłem ?

Podkreślam, że chodzi mi o najbardziej profesjonalny sposób zapisania tego typu zagadnienia. Profesjonalny, czyli niezbyt skomplikowany (nie o to chodzi, żeby zawalać procesor niepotrzebnymi porównaniami) a do tego napisany w przejrzysty sposób - jeśli editów będzie więcej, powiedzmy 30, czy 50 to wpisywanie po kilkadziesiąt linijek w OnKeyPress każdego z nich chyba nie będzie tutaj najlepszym wyjściem ?

Z góry dziękuję za podpowiedzi
Pozdrawiam

0

Przepraszam za podwójny temat. Po wysłaniu pierwszego otrzymałem informację "Wystąpił błąd podczas wysyłania" i wróciłem do tekstu, więc wcisnąłem wyślij jeszcze raz, a teraz widzę 2 identyczne tematy :(

0

dać jednego edita na wartość i combobox na jednostkę a do procki przekazać albo wartość i jednostkę albo wartość zawsze w tej samej jednostce

1 użytkowników online, w tym zalogowanych: 0, gości: 1