[Builder C++] pliki i przeszukiwanie ich zawartosci

0

mianowicie pisze sobie prog na wlasny uzytek i mam maly problem. aplikacja ma jedno pole gdzie wpisuje tekst i po kliknieciu przycisku ma sprawdzic w pliku czy znajduje sie w nim podany ciag znkow (plik ma byc ustawiony domyslnie np na "dane.dat" ) jesli znajdzie wyswietla komunikat znaleziono jesli nie znajdzie to po nacisnieciu przyucisku ma dopisac na koncu pliku dany ciag znakow z pola tesktowego. no i zapisywanie by sie przydalo. chodzi mi glownie o to jak podlaczyc doyslnie plik o nazwie "dane.dat" i jak pobierajac napis z pola tekstowego porywnywac go z plikiem

poozdrawiam i z gory thx for help

0

A piszesz to w Builderze czy Visualu??
Bo jesli w Builderze to tekst z pola tekstowego pobierasz tak:

PoleTekstowe->Text

Potem otwierasz strumien i uzywasz funkcji

get

(z fstream.h

) najlepiej w petli która się skonczy jesl bedzie koniec pliku (<code class="cpp">eof

). Nastepnie do porównania dwóch łańcuchów żywasz strcpy

 (z string.h). 
0

no w builderze , mam pewien zasob wiedzy c++ ale pole tekstowe nie jest chyba zapisane jako char a moze sie myle ja robie to tak:

String s;
s=PoleTekstowe->Text;

a co z plikiem mam zalozyc strumien globalnie calkowicie poza klasa ?? c++ znam dobrze tylko wlaze na buildera i troche rzeczy nie wiem jak zrealizowac

czekam na dalsza pomoc :)) thx za wypowiedz wave pozdro

aha i do porywnowynia dwoch charow jest strcmp() a nie strcpy() ale to chyba literowka przynajmniej tak wyglada ;)

0

wczytaj cały plik do ansiStringa, i użyj metody AnsiPos

0

a jak wczytac plik do ansistringa ?? chodzi Ci o wczytanie zawartosci pliku do komponentu memo ?? ja bym chcial zeby pliku nie bylo widac . da sie to jakos tak zrobic ??

pozdro

0

Wszystko wczytaj do tablic typu char i użyj funkcji strcmp(). Do zamiany typu AnsiString na char służy funkcja c_str().
Np. AnsiString string;
char tab[50];
strcpy(tab, string.c_str());

0

można do memo albo do richedita jak chcesz
jak chcesz, zeby był niewidoczny to w object explorerez czy jag go tam ustawiasz opcję visible na false.

0

ok wczytuje plik do memo i visible daje false sciagam tekst z pola tekstpwego do stringu i pozostaje ostatnie jak porywnowyc string z plikiem w celu wyszukania czy string z pola tekstowego sie w nim znajduje ???

thx for help

0
        TStringList *tekst;
        int i;
        tekst->LoadFromFile("file.txt");
        tekst->Find("szukany_tekst",i) ;
Funkcja Find

zwraca true jeśli łańcuch (tu "szukany_tekst"

) zostanie znaleziony na liście i przypisuje argumentowi <code class="cpp">i

pozycje łańcucha na liście.

0

dziekuje za pomoc wszystkim :) pozdrawiam nie ma to jak byc poczatkujacym ;)

0
TStringList* List = new TStringList;

List->LoadFromFile("NazwaPliku");
if(List->Text.AnsiPos("szukany tekst") != -1)
    Znaleziono
else
    Nie znaleziono

Proste nie?

1 użytkowników online, w tym zalogowanych: 0, gości: 1