Miałem zadanie poprzedzające rozmowę kwalifikacyjną, które ukończyłem i rozwiązanie działa, jednak zostałem oceniony i nie otrzymałem wywiadu z powodu użycia TADODataset. Zasadniczo zaimportowałem plik CSV, który zapełnił zbiór danych, dane musiały zostać przetworzone w określony sposób, więc użyłem Filtrowania i Sortowania zbioru danych, aby upewnić się, że dane zostały uporządkowane w taki sposób, w jakim chciałem, a następnie zrobiłem przetwarzanie logiczne w pętli while. Otrzymane opinie mówiły, że jest to złe, ponieważ w przypadku dużych plików byłoby bardzo wolne.importowanie i przetwarzanie danych z pliku CSV w Delphi
Moje główne pytanie dotyczy sytuacji, w której użycie zbioru danych w pamięci jest powolne w przypadku przetwarzania dużych plików, co byłoby lepszym sposobem uzyskania dostępu do informacji z pliku csv. Czy powinienem używać list ciągów lub czegoś w tym stylu?
Myślę, że wykonałeś dobrą robotę w ramach podanej specyfikacji. Duże pliki? Użyj więc alternatywnego rozwiązania bazodanowego, które nie jest oparte na pamięci - Twoje rozwiązanie jest skalowane bez zmiany czegokolwiek innego. – mj2008
Dziękuję mj2008 Tak mi się zdawało w czasie pisania, a także starałem się napisać rozwiązanie w sposób bardzo defensywny, ale biorąc pod uwagę odpowiedź Dorina poniżej, mogę teraz zobaczyć, dlaczego ankieter chciałby to zrobić w inny sposób. – Mattgb
Zgadzam się z @ mj2008. powiązanie 'CSV' z' ADO' jest bardzo dobrą odpowiedzią. Moje instynktowne rozwiązanie byłoby takie samo. Jeśli wiesz, jak radzić sobie z plikami 'CSV' z' TADODataset' z pewnością wiesz jak "low-tech" przeczytaj wiersz pliku tekst po linii ... – kobik