swordfish111 Napisano Kwiecień 19, 2007 Zgłoś Share Napisano Kwiecień 19, 2007 Jak wczytać text z pliku do tabeli .. ale nie wiem ile jest elementów tej tablicy...czy jest możliwe zdefiniowanie tej tablicy jako dynamiczna a dopiero po wczytaniu pliku tekstowego ustalenie jej wielkości np 10000 punktów w kolumnie ale nie wiem ile ich jest przed wczytaniem proszę o podpowiedź Link do komentarza Udostępnij na innych stronach More sharing options...
Nvm Napisano Kwiecień 19, 2007 Zgłoś Share Napisano Kwiecień 19, 2007 Polecam dokumentację Turbo Pascala SetLength + F1 SetLength + F1 + Przedrostek, bo się będzie Iskar czepiać. Link do komentarza Udostępnij na innych stronach More sharing options...
DarkAndrew Napisano Kwiecień 19, 2007 Zgłoś Share Napisano Kwiecień 19, 2007 Jeżeli chodzi ci o czytanie pliku to masz tu przykład w Delphi, zasada jest taka, że czytasz plik dopóki nie zczytasz znaku EOF (end of file). Tekst z pliku wczytujesz do tablicy dynamicznej najlepiej do stringów gdzie jeden string to jedna linia. While not EOF(plik) do begin readln(plik, tempstring); // tu tempstring do tablicy reprezentującjej twój plik end; w tablicach dynamicznych nie da się wczytać czegoś a potem ustalić jej wielkości no nie wiem czy czasem Setlength nie czyści tablicy, nie jestem pewny "Może wam pomoge, może nie, może pierdolcie w dupę się"-prof. Jarząbek Link do komentarza Udostępnij na innych stronach More sharing options...
Sh4doW Napisano Kwiecień 20, 2007 Zgłoś Share Napisano Kwiecień 20, 2007 A nie dałoby się tego zrobić tak? var str : array of string; begin repeat setlength(str,length(str)+1) readln(plik, str[length(str)-1]); until EOF(plik); end; Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Kwiecień 20, 2007 Zgłoś Share Napisano Kwiecień 20, 2007 Nom, ale do czytanie z pliku lepiej użyć petli while do begin ... end; tak na wszelki wypadek gdyby plik był pusty a pętla sprawdza warunek na początku www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
lewymati Napisano Kwiecień 20, 2007 Zgłoś Share Napisano Kwiecień 20, 2007 a nie lepiej jeszcze użyć stringlisty ? Piszę proste programy i stronki internetowe na zlecenie, zaliczenie... Delphi, Pascal, C++, (X)HTML, CSS, trochę PHP, Javascript i MySQL Kontakt: gg:1477872 e-mail: lewymati@wp.pl Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Kwiecień 20, 2007 Zgłoś Share Napisano Kwiecień 20, 2007 Lepiej, ale pytał o tablice dynamiczne w Delphi więc otrzymał odpowiedź. A szybciej prościej i będzie TStringList i funkcja LoadFromFile. var StringList: TStringList; begin StringList:= TStringList.Create; // tworzenie zmiennej StringList.LoadFromFile('C:\plik.txt'); // Wczytywanie pliku tekstowego TStringList FreeAndNil(StringList); // kasowanie klasy na amen end; Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
adns Napisano Kwiecień 22, 2011 Zgłoś Share Napisano Kwiecień 22, 2011 dzień dobry, witam. Czy z takiej tablicy dynamicznej można usunąć pozycje? jak skasować wybrany element z tablicy? Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Kwiecień 22, 2011 Zgłoś Share Napisano Kwiecień 22, 2011 Przesunąć wszystkie elementy na prawo od usuwanej pozycji w lewo o 1 a na koniec zmniejszyć rozmiar tablicy o 1, tab[i] := tab[i+1]? najlepiej w pętli www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
adns Napisano Kwiecień 22, 2011 Zgłoś Share Napisano Kwiecień 22, 2011 Ok, dzięki. Tylko właśnie jak mam dokonać tego przesunięcia? Na razie prowizorycznie sobie zrobiłem tak, że tworze kolejną tablice(pomocniczą) i do niej dodaje wszystkie elementy tablicy pierwotnej oprócz tego o indeksie który ma zostać usunięty, a na koniec przypisuje tablicę pomocniczą do tablicy pierwotnej. Co prawda działa, ale zawsze lepiej jak jest krócej... Dokumentacja paskala to jest jakaś masakra jak dla mnie, za nim coś znajdę to już wolę sobie po swojemu naokoło robić... Link do komentarza Udostępnij na innych stronach More sharing options...
Integer Napisano Kwiecień 24, 2011 Zgłoś Share Napisano Kwiecień 24, 2011 Jeśli tablica jest dużo-elementowa to możesz od razu podczas dodawania ją sortować, czyli: 1. najpierw wyszukujesz w pętli miejsce gdzie można wstawić, 2. jak już znajdziesz i taka pozycja już jest to wyskakujesz z pętli i nie dodajesz jeśli nie ma potrzeby 3. jeśli trzeba dodać to zwiększasz długość tablicy o jeden i kolejno w pętli przesuwasz elementy w tablicy od końca żeby było mniej przypisań 4. gdzieś na środku zwykle zostaje miejsce gdzie trzeba wkleić "nowe" dane a jak już masz posortowane to możesz zrobić sobie funkcję ZnajdzIndex: Integer; w której najprościej wyszukiwać metodą dzielenia tablicy na pół, zarówno do wyszukiwania miejsca w które chcesz wstawić nową pozycję jak i do wyszukiwania danych po najważniejszym najczęściej używanym parametrze - w przypadku rekordu z kilkoma danymi. Chmura tagów: Przykład jak wczytywać tekst do tablicy dynamicznej. Kod jak zapisywać tekst z tablicy dynamicznej do pliku. Jak dodawać pozycję do tablicy dynamicznej w Delphi? Jak kasować element z tablicy dynamicznej w Delphi? Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.