27. februar 2009 - 16:12Der er
11 kommentarer og 2 løsninger
eget fil format
Har udviklet et lille program hvor en 'SaveDialog' og 'OpenDialog' kan åbne og gemme *.gw filer (har bare tilføjet dem i Filter Editor).
Når jeg så gemmer en *.gw fil, så kender Windows naturligvis ikke denne filtype, og jeg skal så angive et standard program (mit program) før jeg kan åbne filen ved bare at dobbeltklikke på den.
1. Hvordan får jeg mit program til at oprette filformatet *.gw ude hos brugerne?
2. Det må være noget med registreringsdatabasen, eller?
3. Skal det evt. gøres under installationen, eller kan jeg få programmet til at tjekke hver gang det starter op, og så oprette den, hvis den mangler i systemet?
Er altså forvirret over to ting. Skal jeg have koden i min installation? Jeg bruger Inno Setup v.5, så ved ikke helt hvordan jeg skulle kunne gøre det? Var det ikke nemmere at få mit program til at tjekke registreringsdatabasen ved opstart af programmet? Så kunne jeg jo smide koden i min SplashScreen.
En helt anden ting er at jeg ikke ved hvad jeg skal skrive. De eksempler i kom med forvirre mig lidt :(
Neeeeeeeeeeeej... jeg var lige ved at græde, da jeg for lidt siden kom til at gemme et andet lille program, og opdagede at jeg havde overskrevet programmet i denne tråd.
Så nu skal jeg altså starte forfra :( Men I må gerne lige hjælpe mig alligevel, selv om der nok lige går en dag eller to med at få genopbygget det. Skal jo bruge det alligevel, når jeg engang kommer så langt igen.. Hvor DUM har man lov at være?
Jeg vil foreslå at du får fat i noget materiale om det grundliggende i delphi/pascal som f.eks. procedurer og funktioner. Der findes masser af hjemmesider og bøger om dette.
Jeg bruger denne procedure til at registrere filtyper. Programmet skal køres med admin-rettigheder. Under Vista skal dit program startes med et højreklik/Kør som administrator, hvis man ikke har sørget for at programmet selv spørger om lov via UAC (User Acount Control) systemet.
Denne procedure kaldes f.eks. fra OnCreate Filetype = *.ext (din filetype) Description = En ganske kort beskrivelse af din filtype. Key (kan evt. angives til '', ellers feks. programnavnet uden .exe) Icon = sti til ikon, hvis man ikke ønsker at benytte programmet ikon.
procedure RegisterFiletype(Filetype,Key,Description,Icon,HostProgram:string); var MyReg : TRegInifile; ct : integer; begin
// make a correct file-extension ct := pos('.',Filetype); while ct > 0 do begin delete(Filetype,ct,1); ct := pos('.',Filetype); end; if (Filetype = '') or (HostProgram = '') then exit; //not a valid file-ext or ass. app Filetype := '.' + Filetype; MyReg := TRegInifile.create(''); try MyReg.RootKey := HKEY_CLASSES_ROOT; // where all file-types are described if Key = '' then Key := copy(Filetype,2,maxint)+'_auto_file'; // if no key-name is given, // create one MyReg.WriteString(Filetype,'',Key); // set a pointer to the description-key MyReg.WriteString(Key,'',Description); // write the description if icon <> '' then MyReg.WriteString(Key+'\DefaultIcon','',Icon); // write the def-icon if given MyReg.WriteString(Key+'\shell\open\command','', HostProgram + ' "%1"'); //association finally MyReg.free; end;
#9 Har den store delphi 7 bibel, og adskillige hjemmesider, samt en lærer der underviser os i Delphi. Men jeg vil jo bare gerne hurtigere fremad, end han kan tillade sig at gå. Han skal jo have hele klassen med.
#10 Kigger lige på det om et par timer, når programmet er genopbygget hehe ;)
Skulle du i øvrigt have lyst til at lære alt det grundlæggende i Delphi, så læs "Delphi 4 Programmering" af Per Amdal Steffensen fra forlaget Systime. Det er den bedste bog om Delphi på dansk. Det betyder intet at den er skrevet til Delphi 4, selv om du evt. bruger en ny version ad Delphi. Kanon bog. Når du har fordøjet den, kan du virkelig meget bedre bruge alle de tips og kodestumper, du kan finde på nettet.
Okay. Det vil jeg lige tage til mig det der. Den må vel ku lånes på bibliotekerne.
Mange tak, vil jeg helt klart gøre :P
Synes godt om
Ny brugerNybegynder
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.