logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Visual C++ 6.0: Jak rozdzielić plik na 3 części w edytorze tekstu?

Felixx 29 Mar 2006 14:57 2583 3
REKLAMA
  • #1 2471108
    Felixx
    Poziom 11  
    Posty: 48
    Pomógł: 1
    Ocena: 2
    Witam!
    Mam pytanie:

    pisze pewien edytor pod Visual C++ 6.0

    Potrzebuje uczynić cos takiego:
    Wczytuje plik ktróry składa się z 3 częsci:
    .PROGRAM
    .STAŁE
    .PUKNTY

    Potrzebuje rozbić go na te 3 częsci: Czyli otwierając plik w jednym oknie pojawia mi sie tylko cześć zawarta pomiędzy PROGRAM a STAŁE, w drugim OKNIE cześć pomiędzy STAŁE a PUNKTY, w trzecim to co znajduje sie po wyrażeniu .PUNKTY.
    W zasadzie na początku powinno otworzyc sie tylko okno z programem. Okna ze stałymi i punktami chcę otwierac osobnymi przyciskami.

    Każda z tych czesci moze byc modyfikowana. Po zapisaniu pliku: wszystkie czesci są zapisywane razem do pliku w takiej kolejnosci jak wyżej podana.

    Wczytując plik rozbijam caly jego tekst na 3 osobne tablice. Tylko teraz jak z tej tablicy wyświetlić tekst w oknie edytora?
    Jedna tablice w jednym oknie.. drugą w drugim.. trzecia w trzecim...
    I jeszcze sprawa taka żeby tablice na bierząco byly aktualizowane w zależności od dopisanego w danym oknie tekstu...
    Jezeli chodzi o MFC to tak średnio sie w tym orientuje

    Troche przymotałem, ale będe wdzieczny za pomoc jakąkolwiek. Choćby jakieś linki do przykładów itp.
  • REKLAMA
  • #2 2472159
    elektryk
    Poziom 42  
    Posty: 11029
    Pomógł: 439
    Ocena: 240
    Napisz jaki typ obiektu chcesz używać do edycji.
  • REKLAMA
  • #3 2481720
    Felixx
    Poziom 11  
    Posty: 48
    Pomógł: 1
    Ocena: 2
    Mam juz zrobione wczytywanie pliku, rozbijanie do na te 3 sekcje.
    Kazda z sekcji zapisuje do odobnego pliku. Program.tmp, stale.tmp, punkty.tmp


    Na poczatku otwiera mi sie tylko okno z plikiem program.tmp
    Chce dorobic 2 buttony. Jeden spowoduje otworzenie nowego okna i wyswietlenie w nim zawartosci stale.tmp, drugi to samo tylko z punkty.tmp

    Jak bede zapisywal, wszystkie te trzy pliki zostaną złączone w jeden.

    robie to w ten sposob
    bool CadeptDoc::OnButtonTest()
    {
    if (!CDocument::OnOpenDocument("reals.tmp"))
    return FALSE;

    return mBufor.LoadFromFile("reals.tmp",program.size);

    }

    mBufor - to obiekt klasy odpowiedzialenej za buforownanie danych z dokumentu

    Tylko wlasnie problem jest taki: kiedy to jest tak zrobione nie otwiera mi sie nowe okno, TYLKO plik "reals.tmp" wyswietlany jest w miejscu pliku program.tmp ktory wyswietlany jest na poczatku. Jak otworzyc NOWE okno i wnim wyswietlic zawartosc pliku reals.tmp?
  • #4 2481833
    elektryk
    Poziom 42  
    Posty: 11029
    Pomógł: 439
    Ocena: 240
    1. OnOpenDocument "wydaje" mi się ze wrapper do zdarzenia a nie metoda do wywoływania, ale moge się mylić
    2. Żeby się pojawiło nowe okno to trzeba je najpierw "stworzyć". Albo przez winapi, albo przez wytworzenie nowego obiektu klasy "okno_z_edytorem".
REKLAMA