Coś nie działa kod:
[C++ Error] Unit1.cpp(1019): E2451 Undefined symbol 'ListBoxNames'
[C++ Error] Unit1.cpp(1025): E2451 Undefined symbol 'ListBoxValues'
Próbowałem w swoim projekcie, jak i na czystym projekcie. Używam Borlanda w wersji 6.0.
Aktualnie w projekcie mam tak:
1. Wnętrze przykładowego pliku "kraj92pik.dat" z danymi wygląda tak:
- Kod: Zaznacz cały
...
305,700 - 316,478 km=Miasto Łódź
316,478 - 334,432 km=Powiat Łódzki Wschodni
382,333 - 385,263 km=Powiat Łódzki Wschodni
385,263 - 386,139 km=Powiat Piotrkowski
386,139 - 386,518 km=Powiat Łódzki Wschodni
386,518 - 399,837 km=Powiat Piotrkowski
...
2. Plik Unit1.h ma deklarację listy:
private: // User declarations
THashedStringList *Lista;
3. Następnie na formie mam ComboBox, RadioGroup i zwykły Label.
4. I tak w ComboBox wybieram numer drogi, po czym wczytuje plik z danymi do RadioGroup w taki sposób:
void __fastcall TForm1::ComboBox1Select(TObject *Sender)
{
if (ComboBox1->Text == "DK92")
{
String sFileName = ExtractFilePath(ParamStr(0)) + "dat\\kraj92pik.dat";
if(!FileExists)
{
Application->MessageBox(("Nie odnaleziono pliku '" + ExtractFilePath(ParamStr(0)) + "dat\\kraj92pik.dat'!").c_str(), "Uwaga! Brak pliku", MB_OK | MB_ICONSTOP);
RadioGroup1->Items->Clear();
Label1->Caption = "Nie wybrano żadnej opcji...";
return;
}
Lista->Clear();
Lista->LoadFromFile(sFileName);
RadioGroup1->Visible = true;
RadioGroup1->Items->Clear();
Label1->Caption = "Nie wybrano żadnej opcji...";
for(int i = 0; i < Lista->Count; i++)
{
RadioGroup1->Items->Add(Lista->Names[i]);
}
}
5. Dzięki czemu RadioGroup wypełnia się danymi na lewo od znaku "=" z pliku z danymi.
6. Dalej dla kliknięcia w RadioGroup mam przypiętą nazwę dla Label1
void __fastcall TForm1::RadioGroup1Click(TObject *Sender)
{
Label1->Caption = Lista->Values[Lista->Names[RadioGroup1->ItemIndex]];
}
7. I w ten sposób mam w nazwie Labela dane na prawo od znaku "=" z pliku z danymi. Oczwyiście w zależności co było kliknięte w RadioGroup.
Pytanie: A teraz zaszła potrzeba dodania gminy w postaci pliku źródłowego:
- Kod: Zaznacz cały
230,818 - 232,541 km=Powiat Kutnowski, Gmina Zgierski
i wyświetlenia jej osobny na innym Labelu.
Próbowałem Twoim sposobem, ale coś mi nie tak idzie.