21. september 2005 - 12:50Der er
13 kommentarer og 1 løsning
Åbne nyt dos vindue fra kørende C-dos program i Borland 5.2
Jeg har et program, der kører med en del processer, og jeg vil gerne kunne åbne et nyt vindue, hvori jeg kan indtaste tekst, der skal bruges af en af processerne. Er der nogen eksperter der kan hjælpe med, hvordan jeg åbner et nyt vindue?
hej arne_v. Tak for dine links. Jeg kan få koden fra codeguru til at køre i Visual Studio. Men i dette projekt arbejder jeg i Borland 5.2, og den bryder sig ikke om f.eks. AllocConsole, og heller ikke nogen af de andre for den sags skyld. tsk, tsk :/ Desuden er applikationen en win16 app, hvilket nok ikke gør det meget bedre. Jeg kan indtaste de input jeg har brug for til de processer, der skal bruge dem, men det kører ikke optimalt, og jeg synes det vil være frækkere at have et selvstændigt vindue til indtastning af alle værdier, der skal indtastes.
Nu er jeg kommet lidt i tvivl om det er en 16- eller 32-bit applikation. Når jeg laver en projekt i Borland 5.2 har jeg fire valgmuligheder for applikationstype
1. Win32 2. Windows 3.x(16) 3. DOS (Standard) 4. DOS (Overlay)
Applikationen vi taler om her er den 3. mulighed DOS (Standard), så jeg regner med at det kan være en 32-bit app, selv om det ikke en Win32 projekttype, irrk..!
// min tilføjelse readFile("test.txt"); printf("You transfered val1, val2, val3 and val4: "); for(int i = 0; i < 4; i++) { printf("%d ", val[i]); } return 0; }
Denne løsning brugte jeg i en test, hvor jeg i child, når den åbner ved programstart indtaster nogle værdier, skriver dem til en fil og lukker child. Ved lukning af child henter mainprogrammet værdierne fra filen og skriver dem til skærmen som vist ovenfor. Jeg forestillede mig, at jeg ville bruge den i projektet og åbne den med en control key, når der var brug for den.
Men jeg har ikke brugt løsningen, fordi jeg lavede en løsning, der læser bioskey fra skærmen en karakter ad gangen, konverterer den til en char og lægger den i et array. Vha. en konverteringsalgoritme konverteres char'ene i arrayet til integers og samles til hele tal. scanf kan ikke bruges, fordi den ikke er reentrant, hvilket giver nogle uheldige resultater, når andre processer også skriver til skærmen, samtidig med at jeg taster ind. Cursoren er simpelthen ikke til at styre, det er den med bioskey.
I projektet har vi en kerneemulering, som implementerer sine egne processer, message queues etc. Det blev ikke anset for god skik at blande <process.h> med kerneemuleringen, derfor løsningen med bioskey.
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.