Wszystko to działa, jak zadeklaruję takiego właśnie stringa. Tylko problem w tym, że sprawa wygląda następująco. Dane zczytywane są z pliku tekstowego do tablicy stringów, a potem z tej tablicy stringów chcę wyciągnąć do tablicy integerów tylko wartości między przecinkami i dwukropkiem w przypadku pierwszej wartości.
Przykładowy plik wygląda tak:
6 // ta liczba określa ilość wymiarów, bo aplikacja ma wizualizować wielowymiarowość
:1,2,3,4,5,6 // a to są współżędne punktu
:2,1,3,4,5,5
:4,3,2,3,4,5
chcę zrobić zczytywanie tych danych z automatu, bo taki plik moze mieć więcej wymiarów i więcej punktów. Problem, że mam takie jaja z funkcją Copy, teraz sprawdziłem funkcję MidStr i też nie działa, tak samo jak funkcja LeftStr. Za każdym razem wyskakuje mi błąd, że wartość zapisywana do tablicy integerów nie jest wartością całkowitą. Usunięcie ':' z początku każdej lini też mi nic nie daje. Poniżej zamieszam kod odpowiadający temu zczytywaniu:
for j:=0 to lo do //kazda linijka (prócz pierwszej) z pliku jako string
begin
for z:=0 to length(tab[j]) do
l:=pos(',',tab[j]);
m:=pos(':',tab[j]);
w:=MidStr(tab[j],m+1,l-1); //pobranie poczynajac od ':' do znaku przed ','
tabz[z]:=StrToInt(w);
delete(tab[j],1,1);
end;
teraz pobiera mi '1,' i jakbym nie kombinował nigdy nie pobierze samej jedynki.
Pracuję na Delphi7.