Avatar billede baltazar_ Nybegynder
28. januar 2003 - 23:35 Der er 6 kommentarer

et par spørgsmål

hvordan kan jeg ved at trykke på en knap oprette et array ( som er dynamisk størrelse ) og som har samme navn som en bitmap fil som allerede er åben.
det jeg skal er at jeg skal tilføje 3 imformationer data til dette array dynamisk hver gang man trykker "A" på tasteturet.
og derefter skal disse data lægges i en text fil.
Avatar billede baltazar_ Nybegynder
28. januar 2003 - 23:37 #1
sorry  4 stk informationer skal arrayet indeholde
Avatar billede jpk Nybegynder
29. januar 2003 - 08:38 #2
Det lyder meget som en del af dit GPS info program..?
Hvordan koden ser ud afhænger jo meget af hvilken typer data du vil putte i array'et. Hvis de logisk hører sammen, bør de også puttes i en klasse, som du så gemmer instanser af (tilbage til datamodellen)...
Avatar billede baltazar_ Nybegynder
29. januar 2003 - 22:13 #3
Det er det ganske korrekt, Jeg har også lavet member variabler som indeholder de data som skal gemmes i dette array. Men det med at lave en class udelukkende til dette er jeg da med på, men så meget kender jeg ikke til class`s så jeg kan bruge data fra en classe inde i en anden, hvis det er det du mener
Avatar billede baltazar_ Nybegynder
29. januar 2003 - 22:16 #4
ok har valgt at lave det som en classe for sig selv,  hvilken base class ville være smart at bruge i dette tilfælde.  base class.... Cdialog ?
Avatar billede jpk Nybegynder
30. januar 2003 - 09:10 #5
CDialog er en en MFC-klasse udelukkende til grafisk userinterface. Du bør absolut ikke blande din datamodel sammen med dit grafiske interface!

Du behøver ikke nødvendigvis have en baseklasse, kun hvis det giver mening.

Lad os antage, at det du vil er at gemme navn/koordinater på forskellige lokationer, i din fil. (I henhold til dit tidligere spm.)
Så kunne man vel forestille sig en datamodel som:

class Location
{
public:
  Location();
  virtual ~Location();
  GetCoordinate() { return m_Coordinate; }

  CString    m_strName;
  Coordinate m_Coordinate;
};


Hvor Coordinate kunne være defineret som:
class Coordinate 
{
public:
    Coordinate();
    virtual ~Coordinate();
    double Distance(Coordinate& coordinate);
    Position& GetLatitude() { return m_Latitude; }
    Position& GetLongitude() { return m_Longitude; }

protected:
    Position    m_Latitude;
    Position    m_Longitude;
};

Og deri Position som:

typedef enum {NORTH, SOUTH, EAST, WEST} Direction;

class Position 
{
public:
    Position();
    virtual ~Position();
    bool SetPositionFromString(CString& strPosition);
    bool SetDirectionFromString(CString& strDirection);
    CString GetDirectionString(bool bLongFormat=false);
    CString ToString();
    double ToRadians();

    int GetDegrees() { return m_Degrees; }
    float GetMinutes() { return m_Minutes; }
    Direction GetDirection() { return m_Direction; }

protected:
    int            m_Degrees;
    float        m_Minutes;
    Direction    m_Direction;
};
Avatar billede jpk Nybegynder
30. januar 2003 - 11:15 #6
Du kan så fx lave en liste til at indeholde lokationerne.
CList<Location*, Location*> m_Locations;
og tilføje nye elementer
m_Locations.AddTail(new Location());

Du kan naturligvis også vælge en anden datastruktur til at indeholde dine elementer, fx vector.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester