Sida 2 av 2
Postat: 8 april 2008, 14:50:06
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
}
Postat: 14 maj 2008, 23:33:18
av Jeppsson
Utskrift funktionen är klar och fungerar...
Har ett litet annat problem som jag behöver hjälp med.
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
Postat: 14 maj 2008, 23:50:24
av sodjan
> ...utan att behöva save:a eller liknande
Då går det inte. Hur skulle det fungera ?
Postat: 15 maj 2008, 00:22:36
av Jeppsson
Förtydliggande: Jag undrar om man kan låta programmet komma ihåg en variabel utan att man måste "trycka" save...
Postat: 15 maj 2008, 00:34:26
av bos
Spara aktuellt värde i en fil när vad-det-nu-är-för-nåt uppdaterar sitt värde.
Postat: 15 maj 2008, 09:08:20
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 =).
Postat: 15 maj 2008, 10:12:03
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
Postat: 15 maj 2008, 14:41:29
av hh
I C# finns det ju också settings-filer som är enkla att använda.
Postat: 15 maj 2008, 23:10:05
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å!
Postat: 16 maj 2008, 00:05:23
av Jeppsson
Tack
hh det var precis detta jag letade efter...
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();
}