Lista itemow nieznana, jak to zrobić w case of?

0

Jest taka sprawa. Mam plik tekstowy, w którym mam nazwy, obok coś innego i nazwy przy odpalaniu programu wczytują się ładnie do ComboBox (i dodawane są te nazwy do itemów combobox), ale teraz w OnChange combobox chcę zrobić, case of i tu mam problem, bo dawniej zawsze podawałem liczby, które reprezentowały znaną mi liczbę itemów w ComboBoxie, były to stałe liczby, czyli zawsze miałem np. 10 itemów w ComboBoxie więc w case of 10 funkcji odpowiednich było i tyle, a teraz nie wiem, czy to będzie 5 itemów, 10, 30...

case ComboBox1.ItemIndex of
{1: kod
2: kod}

Proszę o pomoc.

0

Opisz jaśniej co chcesz zrobić.
Co miałeś w tych funkcjach?
Jestem pewien, że dało się to wszystko wrzucić do jednej, zamiast robić kilkanaście...

0
nowe napisał(a):

Proszę o pomoc.

Hint1: Nie ma pytania
Hint2: Twój problem jest niezrozumiały.
Hint3: Zadajesz zadziwiająco dużo pytań, czyżby kolejny geniusz który chce żebyśmy za niego rozwiązywali problemy?

0

dobra, chyba znalazłem inny sposób bez tego case of
Po prostu w pliku tekstowym mam rzeczy w stylu
nazwa [tu cos innego][tu cosinnego]

nazwę Posem wyciągam i dodaję itemy, ale funkcje w OnChange wyciąga posem te "inne" rzeczy z pliku txt z odpowiedniej linii...
I teraz chyba znalazłem rozwiązanie. Po prostu skoro itemy mam załadowane w ComboBoxie to mogę wyciągać z danej linii coś z pliku txt więc problem chyba rozwiązany już, a topic do wywalenia :P

1
nowe napisał(a):

więc problem chyba rozwiązany już, a topic do wywalenia :P

I Ty do zbanowania bo najpierw pytasz a potem szukasz rozwiązania. Naucz się rozwiązywać problemy a nie pytać na forum. I nie to żebym Tobie mówił żebyś spadał, ale pytaj gdy masz poważny problem. Dodatkowo naucz się zadawać pytania.

2

@-123oho: wyluzuj się nieco.
Sam mam nieraz tak, że problem "się" rozwiązuje zaraz po dodaniu posta na forum.
Pytanie sformułowane co prawda niezbyt logicznie, ale nie przesadzajmy.

0

bo trudno to było wyjaśnić. A nim posta na forum wstawiłem to ciągle o case of myślałem, później po dodaniu posta nagle żarówka się zaświeciła, trudno, bywa tak.

0
Patryk27 napisał(a):

@-123oho: wyluzuj się nieco.

A mi się wydawało że jestem wyluzowany, hm.

Pytanie sformułowane co prawda niezbyt logicznie, ale nie przesadzajmy.

Nie wiem bo jak czytam i nie ogarniam to po prostu olewam zamiast 10minut myśleć o co autorowi chodziło.
Problem należy opisywać od założeń, przez rozwiązania po kod, wyniki i zakładane wyniki. Tylko wtedy jest to dobre pytanie. Każde pytanie które opisuje problem w innej kolejności, bez któregoś punktu etc. nie jest dobrym pytaniem (mówimy tu o pomoc w przeprojektowaniu kodu).
Wolę wymagać wysokich standardów i narzekać niż brać byle jakie pytania i silić się na mądrą odpowiedź (rzadko wtedy chociażby podziękują, choć to zdarza się też innym [pamiętasz? :P ]).

Sam mam nieraz tak, że problem "się" rozwiązuje zaraz po dodaniu posta na forum.

Też tak mam, ale zazwyczaj wpadam na rozwiązanie albo głupotę problemu zanim go opublikuję. Nie mniej, mi też się to zdarzyło, wiem. Nie zmienia to faktu że to trzeba ograniczać i sam się kontroluję w tym.

bo trudno to było wyjaśnić. A nim posta na forum wstawiłem to ciągle o case of myślałem, później po dodaniu posta nagle żarówka się zaświeciła, trudno, bywa tak.

To nie trudno wyjaśnić tylko ty nie umiesz tego wyjaśnić po ludzku. Tej umiejętności się nie ma od razu, ale należy nad nią pracować o czym upominam grzecznie. Wiem że problem się potrafi rozwiązać po zebraniu myśli, ale unikaj też tego. Najpierw myślimy, potem układamy pytanie (tak, pytanie wymaga pytania - gdzie jest u ciebie?), jeszcze raz myślimy i publikujemy.
Dam Ci małą radę: Moich odpowiedzi nie bierz zbyt do siebie to i odkryjesz że jestem pomocny.

0

taki kod na szybko machnąłem, rozwiązał problem:

procedure TForm2.ComboBox2Change(Sender: TObject);
var
  ix, tag1, tag2: Integer; //index
begin
  ix:= ComboBox2.ItemIndex;
  tag1:= Pos('[color', ListaKolorow.Strings[ix]);
  tag2:= Pos(']', ListaKolorow.Strings[ix]);
  Memo1.SelText:= Copy(ListaKolorow.Strings[ix], tag1, tag2 - tag1 + 1) + Memo1.SelText + '[/color]';
end;

//btw. ta ListaKolorow to TStringList, do niego ładowany jest plik txt, jakby ktoś z was chciał wiedzieć

teraz idę rozbudować go i git :)
Dzięki

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