Umiescilem na sztywno naglowki tabeli w taki sposob
var tabkol = set of [Nr,Imie,Nazwisko,Ulica ...];
nastepnie w warunku if(nazwaStringu in tabkol) then .....
Kompilaotr protestuje, bo nie moze sprawdzic czy nazwaStringu jest w typie wyliczeniowym. Co zrobic .
nie podałeś całego kodu więc przypuszczam, że czegoś Ci brakuje. Na początek zajrzyj może tu i porównaj swój kod z tym, który tam jest http://www.delphibasics.co.uk/RTL.asp?Name=Set
Isek napisał(a)
Umiescilem na sztywno naglowki tabeli w taki sposob
var tabkol = set of [Nr,Imie,Nazwisko,Ulica ...];
nastepnie w warunku if(nazwaStringu in tabkol) then .....
Kompilaotr protestuje, bo nie moze sprawdzic czy nazwaStringu jest w typie wyliczeniowym. Co zrobic .
chyba coś poknocone ? to działa ? bo chyba powinno być chociaż nie sprawdzałem:
type tabkol = set of [Nr, Imie, Nazwisko, Ulica ...];
a potem:
var costam: tabkol;
i:
if(nazwaStringu in costam) then ...
Adamo napisał(a)
bo chyba powinno być chociaż nie sprawdzałem:
type tabkol = set of [Nr, Imie, Nazwisko, Ulica ...];
a potem:
var costam: tabkol;
i:
if(nazwaStringu in costam) then ...
no właśnie niekoniecznie zobacz sobie na link, który podałem
Z tego, co zrozumiałem, to przyda się konwersja nazwy elementu na typ String - poszukaj informacji o RTTI (RunTime Type Information).
brodny napisał(a)
Z tego, co zrozumiałem, to przyda się konwersja nazwy elementu na typ String - poszukaj informacji o RTTI (RunTime Type Information).
ke??? niedługo będziecie do tego chcieli asma zaprząc! Wejdzcie sobie na link, który podałem i zobaczcie jak wygląda prawidłowa deklaracja takiej zmiennej!!
taki mały hint dla autora pytania, bo tu też może mieć problem zadeklarowanie zmiennej nie przypisuje jej wartości
Cos takiego z linku
var
Alphabet : Set of 'A'..'z';
tylko ja chccialem zrobic rekord stringów var tabstr=set of String; ale takie cos nie istnieje, wiec powstal typ wyliczeniowy, gdzie zawarte elementy chce sprawdzic ze zmieniajacym sie nazwa jakiegos stringu
Isek napisał(a)
Cos takiego z linku
var
Alphabet : Set of 'A'..'z';tylko ja chccialem zrobic rekord stringów var tabstr=set of String; ale takie cos nie istnieje, wiec powstal typ wyliczeniowy, gdzie zawarte elementy chce sprawdzic ze zmieniajacym sie nazwa jakiegos stringu
nie da się tak - albo zbiory albo stringi
type
ttabkol = set of (Nr,Imie,Nazwisko,Ulica);
var
tabkol: ttabkol;
begin
tabkol := [Nr,Imie,Nazwisko,Ulica];
if (Nr in tabkol) then
ShowMessage('jest');
end;
albo
var
tabkol: set of (Nr,Imie,Nazwisko,Ulica);
begin
tabkol := [Nr,Imie,Nazwisko,Ulica];
if (Nr in tabkol) then
ShowMessage('jest');
end;
nie można tak
var
tabkol: set of (Nr,Imie,Nazwisko,Ulica);
aa: string;
begin
aa := 'Nr';
tabkol := [Nr,Imie,Nazwisko,Ulica];
if (aa in tabkol) then
ShowMessage('jest');
end;
jak chcesz sprawdzać coś takiego to sobie StringList stwórz z wartościami, które mogą być w stringu i sprawdzaj przez
if StringList.IndexOf(string) <> -1 then jest
lub szybciej, ale przy posortowanej StringLiscie
if StringList.Find(string, miejsce) then jest
Misiekd napisał(a)
ke??? niedługo będziecie do tego chcieli asma zaprząc! Wejdzcie sobie na link, który podałem i zobaczcie jak wygląda prawidłowa deklaracja takiej zmiennej!!
Przestań na mnie naskakiwać, bo ja też potrafię być niemiły. Jeśli komuś się to podoba - niech sobie klepie w asemblerze, ma do tego święte prawo. A nie moja wina, że Autor nieprecyzyjnie wyjaśnił, o co mu chodziło. W moim przekonaniu chodziło o to, czy wpisany przez użytkownika tekst (np. w polu typu TEdit, czyli po prostu podany przez usera string) ma odpowiadającą sobie wartość w typie wyliczeniowym - do tego przydałaby się konwersja nazwy wartości typu wyliczeniowego na string, aby nie wstawiać ich na sztywno w kodzie. Zrozumiał, co miałem na myśli?
// EDITED:
Zawsze się zastanawiam - nie moja wina, że tak to zrozumiałem. Równie dobrze Twoje myślenie mogło być błędne - też nie poprosiłeś o rozwinięcie tematu etc., ale czy na Ciebie naskoczyłem z tego powodu?
zrozumiał, a Ty mógłbyś się zastanowić albo chociaż poprosić o rozwinięcie tematu zanim odpowiesz
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.