Egen PC Mjukvara för styrning av PIC

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Jeppsson: du kan helt enkelt göra en utskriftsrutin:

Kod: Markera allt

  if(Input >= 1000)
    {
    if(Input >= 1000000)
      {
      // Skriv ut i MHz
      }
    else
      {
      // Skriv ut i kHz
      }
    }
  else
    {
    // Skriv ut i Hz
    }
Användarvisningsbild
Jeppsson
EF Sponsor
Inlägg: 810
Blev medlem: 3 oktober 2005, 18:00:43
Ort: Karlskrona

Inlägg av Jeppsson »

Utskrift funktionen är klar och fungerar...

Har ett litet annat problem som jag behöver hjälp med. :wink:

Som jag har nämnt tidigare så programmerar jag i C# men mottager all hjälp jag kan få även i andra språk...

Om jag har t.ex en trackBar där jag kan välja ett värde mellan 0-100 hur gör jag för att programmet skall komma ihåg inställt värde till nästa gång programmet startas, utan att behöva save:a eller liknande.

/ Jeppsson
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> ...utan att behöva save:a eller liknande

Då går det inte. Hur skulle det fungera ?
Användarvisningsbild
Jeppsson
EF Sponsor
Inlägg: 810
Blev medlem: 3 oktober 2005, 18:00:43
Ort: Karlskrona

Inlägg av Jeppsson »

Förtydliggande: Jag undrar om man kan låta programmet komma ihåg en variabel utan att man måste "trycka" save...
bos
Inlägg: 2314
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Inlägg av bos »

Spara aktuellt värde i en fil när vad-det-nu-är-för-nåt uppdaterar sitt värde.
Användarvisningsbild
jonnorberg
Inlägg: 851
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Inlägg av jonnorberg »

En vanlig texfil, preference lista eller dyl. På mac har varje program en sådan med tex inloggnings namn valda typsnitt ja sånna saker du efterfrågar. Lite som första sidan på din kalender =).
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Man kan skriva värden i registret och/eller man kan låta programmet spara/hämta en config-fil.

Jag använder båda metoderna men vilken beror på vilken typ av värde som ska sparas. Om ett program kommunicerar med en enhet via en viss COM-port sparar jag COM-portens nummer i registret för jag anser att det hängar ihop med den fysiska dator att enheten är kopplat till den port.

Om jag ska spara ett antal filnamn i mitt flashningsprogram gör jag det i en Config-fil då dessa data hänger ihop med programmet.

Kod: Markera allt

struct
  {
  char COM_Port[6];
  BOOL Keep_Open;
  char FlashFiles[5][MAXPATH];
  char Default_Remote;
  } Config;

char  ConfigFile[MAXPATH];

Start av program:
  strncpy(ConfigFile,__argv[0],sizeof(ConfigFile)); // Copy the program name
  *strrchr(ConfigFile,'.') = 0; // Put in an End-Of-Line
  sprintf(&ConfigFile[strlen(ConfigFile)],".ini"); // Alter extension to ".ini"
  // Now the ConfigFile contains the name and path to the config-file

void __fastcall TForm1::LoadConfigFile(void)
  {
  HANDLE Handle;
  DWORD  Did_Read;
  HANDLE Handle;
  Handle = CreateFile(ConfigFile,GENERIC_READ,0,0,OPEN_EXISTING,0,0); // Open it if it exists
  if(Handle != INVALID_HANDLE_VALUE)
    {
    ReadFile(Handle,&Config,sizeof(Config),&DidRead,0);
    CloseHandle(Handle);
    // Now the datas are read from file into Config-struct.
    }
  else
    {
    // Default setting needs to be activated as no config-file is found
    }
  }

void __fastcall TForm1::SaveConfigFile(void)
  {
  HANDLE Handle;
  DWORD  Did_Write;
  Handle = CreateFile(ConfigFile,GENERIC_WRITE,0,0,CREATE_ALWAYS,0,0); // Make a new!
  if(Handle != INVALID_HANDLE_VALUE)
    {
    WriteFile(Handle,&Config,sizeof(Config),&Did_Write,0);
    CloseHandle(Handle);
    }
  }
Saxat från ett BCB6-projekt
hh
Inlägg: 322
Blev medlem: 9 maj 2006, 12:37:32
Ort: Karis, Finland

Inlägg av hh »

I C# finns det ju också settings-filer som är enkla att använda.
Användarvisningsbild
Jeppsson
EF Sponsor
Inlägg: 810
Blev medlem: 3 oktober 2005, 18:00:43
Ort: Karlskrona

Inlägg av Jeppsson »

Tack hh skall googla lite på settings-filer senare när jag har läst igenom de nya inläggen på forumet...´

Tack för alla andra svar oxå!
Användarvisningsbild
Jeppsson
EF Sponsor
Inlägg: 810
Blev medlem: 3 oktober 2005, 18:00:43
Ort: Karlskrona

Inlägg av Jeppsson »

Tack hh det var precis detta jag letade efter... :tumupp:

För ni som vill veta lite mer om Properties settings klicka på länken här under...
http://www.codeproject.com/KB/cs/Proper ... tings.aspx

Ser enkelt ut men nu skall man bara få det att snurra som man själv vill...

Bara att infoga save funktionen i följande snutt som körs när ett fönster stängs...

Kod: Markera allt

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (serialPort1.IsOpen) serialPort1.Close();
        }
Skriv svar