Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Jak pod "okienko" podpiąć kod.

Ostatnio zmodyfikowano 2008-11-18 19:36
Autor Wiadomość
GoldWolf
Temat założony przez niniejszego użytkownika
» 2008-11-17 21:38:10
C/C++
//-----------------------------Unit1.h----------------------------------------------
#ifndef Unit1H
#define Unit1H
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <string>
#include <fstream>
#include <iomanip>
#include <cstdlib>
// --------------- KLASA --------------------------
class Gracze {
    char imie[ 9 ];
    int licznik_gracza;
   
public:
    void zapamietaj( char * napis, int lata );
    int wypisz() { return licznik_gracza; }
    void show();
};
// --------------------------------------------------
// ------------KLASA FORM-----------------------------------------------
class TForm1
    : public TForm
{
    __published: // IDE-managed Components
    TButton * Zapisz;
    TEdit * Edit1;
    TLabel * Label1;
    TMemo * Memo1;
    TButton * Odczytaj;
    TEdit * Edit2;
    TLabel * Label2;
    TLabel * Label3;
    void __fastcall ZapiszClick( TObject * Sender );
    void __fastcall OdczytajClick( TObject * Sender );
    void __fastcall zatwierdzClick( TObject * Sender );
    void __fastcall Button1Click( TObject * Sender );
   
private: // User declarations
    int rek; // dla modyfikacji rekordów powiązana z licz
    int licz; // liczba wpisanych graczy
    fstream p;
public: // User declarations
    Gracze G;
    __fastcall TForm1( TComponent * Owner );
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 * Form1;
//---------------------------------------------------------------------------
#endif
P-2568
GoldWolf
Temat założony przez niniejszego użytkownika
» 2008-11-17 21:44:00
Trochę mi to zajęło by skapnąć się o co w tym wszystkim chodzi, ale się udało. Ciekawostką jest fakt, iż czekałem na książki o C++ Builderze, jednak nie były mi potrzebne. Po prostu trzeba się trochę przestawić i wszystkie cin,cout, i inne gady zamienić na odpowiednie komponenty. Gotowy projekt umieszczę w odpowiednim miejsc, jednak trochę czasu minie.

PS szkoda, że gdzieś podziałem kod z konsoli bym dał dla porównania ;-/
P-2569
DejaVu
» 2008-11-17 22:52:14
Może się znajdzie :), zamykam temat - chyba już jest wyczerpany. Jeśli będziesz jeszcze coś miał do dodania, to otwórz temat.
P-2573
GoldWolf
Temat założony przez niniejszego użytkownika
» 2008-11-18 19:36:57
Znalazłem i dopieściłem o to kod w konsolce robią praktycznie to samo z małymi różnicami. Dokładnie chodziło o to by utworzyć plik w trybie binarnym w których będą się zapisywały jakieś rekordy i późniejsza ich modyfikacja.

C/C++
//---------------------------------------------------------------------------
#pragma hdrstop
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;
const char * plik = "raf.raf";

inline void u_tajnij() { while( cin.get() != '\n' ) continue; }

struct pups {
    char nazwa[ 9 ];
    int mama;
};

main() {
    char t;
    pups test;
   
    ofstream f( plik, ios::out | ios::binary );
    if( !f.is_open() ) {
        cout << "Błąd tworzenia " << plik << ":\n";
    } else {
       
        do {
            cout << "Cos wpisz ?" << endl;
            cin.get( test.nazwa, 9 );
            cout << "Czy wpisac kolejny rekord t/n ?" << endl;
            cin >> t;
            u_tajnij();
            f.write(( char * ) & test, sizeof test );
        } while( t != 'n' );
       
        f.close();
        f.clear();
    }
    fstream p;
    p.open( plik, ios::in | ios::out | ios::binary );
    p.seekg( 0 );
    if( p.is_open() ) {
        int licz = 1;
        cout << "CO tu jest " << plik << ":\n \n";
        while( p.read(( char * ) & test, sizeof test ) ) {
            cout << licz << ":  " << test.nazwa << endl;
            licz++;
        }
    } else { cout << "Dupa !" << endl; }
   
    if( p.eof() ) {
        p.clear();
        //  cout << "Bylem tutaj  \n";
    }
   
    cout << "wprowadz nr rekordu: ";
    int rek;
    cin >> rek;
    u_tajnij();
    streampos miejsce = rek * sizeof test;
    p.seekp( miejsce );
   
    if( p.fail() ) {
        cout << "\n brak rekordu \n";
        system( "pause" );
        exit( 0 );
    }
    p.read(( char * ) & test, sizeof test );
    cout << "Cos to wybral leszczu " << test.nazwa << endl;
   
    if( p.eof() ) {
        p.clear();
        // cout << "Bylem tutaj 2.   ";
    }
    cout << "Cos wpisz ? -";
    cin.get( test.nazwa, 9 );
    u_tajnij();
    p.seekp( miejsce );
    p.write(( char * ) & test, sizeof test ) << flush;
    p.close();
   
    system( "pause" );
}

No to teraz możemy zamknąć.
P-2575
1 2 « 3 »
Poprzednia strona Strona 3 z 3