Witam wszystkich bardzo serdecznie :) Otóż piszę program do pikietażu - kilometrażu dróg pod C++Builder 6. Jego forma wstępnie tak:
W momencie wyboru drogi z ComboBox program wczytuje do RadioGroup i Memo plik tekstowy o składni następującej:
37,4 - 41,8 km=Powiat Zgierski
41,8 - 362,9 km=Miasto Łódź
362,9 - 382 km=Powiat Łódzki Wschodni
399,8 - 416,1 km=Powiat Piotrkowski
416,1 - 447,5 km=Powiat Radomszczański
>> 447,5 km=Województwo Śląskie - Kierunek Częstochowa
I teraz mam problem jak rozwiązać kwestię wyboru z RadioGroup, gdyż lista kilometrów jest różna dla różnych dróg i w momencie wyboru właściwego kilometra chciałbym, aby w Memo lub nawet Label był wyświetlany dany powiat, a nie cała lista.
Kod wygląda tak:
Uni1.h
private: // User declarations
THashedStringList *Lista;
Unit1.cpp
void __fastcall TForm1::ComboBox3Select(TObject *Sender)
{
//co zrobimy po wybraniu z listy dróg krajowych z ComboBox
if (ComboBox3->ItemIndex == 0)
{
String sFileName = ExtractFilePath(ParamStr(0)) + "dat\\kraj1pik.dat";
if(!FileExists)
{
Application->MessageBox(("Nie odnaleziono pliku '" + ExtractFilePath(ParamStr(0)) + "dat\\kraj1pik.dat'!").c_str(), "Uwaga! Brak pliku", MB_OK | MB_ICONSTOP);
RadioGroup1->Items->Clear();
Memo1->Clear();
return;
}
Lista = new THashedStringList;
Lista->LoadFromFile(sFileName);
RadioGroup1->Items->Clear();
Memo1->Clear();
for(int i = 0; i < Lista->Count; i++)
{
RadioGroup1->Items->Add(Lista->Names[i]);
Memo1->Lines->Add(Lista->Values[Lista->Names[i]]);
}
delete Lista;
}
}
Byłbym wdzięczny za każdą pomoc :)
static_cast
ze zwykłegochar*