Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Qt i QBASIC kompajler

[es] :: C/C++ programiranje :: C/C++ za početnike :: Qt i QBASIC kompajler

[ Pregleda: 2205 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

2paca.zwaka
Nikola Ninkovic
Web Developer
BTGPort
Trebinje, RS/BiH

Član broj: 277023
Poruke: 126
*.teol.net.



+7 Profil

icon Qt i QBASIC kompajler07.09.2011. u 22:30 - pre 153 meseci
Pravim nesto kao IDE za BASIC i naisao sam na problem......Da li mogu da koristim QBASIC kompajler i kako da kompajlira kod iz TextEdit kontrole?........predpostavljam da bih trebao nekako da redirectujem ulaz na bc.exe ?......hvala
while(I->AmAlive()){
I->DoSomeProgramming();
}
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
89.216.32.*



+2790 Profil

icon Re: Qt i QBASIC kompajler08.09.2011. u 09:06 - pre 153 meseci
Koristi koji god hoćeš kompajler. Kod snimi u neki privremeni *.bas fajl, pa pozovi regularno kompajliranje. Preporučujem upotrebu QProcess klase da bi dobio poruke kompajlera o greškama.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

2paca.zwaka
Nikola Ninkovic
Web Developer
BTGPort
Trebinje, RS/BiH

Član broj: 277023
Poruke: 126
*.teol.net.



+7 Profil

icon Re: Qt i QBASIC kompajler09.09.2011. u 22:35 - pre 153 meseci
E redirectovao sam input stream sada mi samo treba mala pomoc......
u BASIC kompajleru koji koristim da bi se napravio *.obj fajl treba uneti tri linije....Moj kod je :
Code:

QProcess p;
    p.start("c:\\qb\\bc.exe");

    p.write("c:\\q.bas"); // lokacija nekog .bas fajla
    p.write("\n");          // upisivanje prazne linije (enter)
    p.write("\n");
    p.closeWriteChannel();

    QMessageBox::warning(q,"Readed",p.readAll());



Medjutim program izbaci praznu MessageBox i onda postaje 'not responding'


sta je greska ako moze mala pomoc ? hvala



izmena :

Code:

 p.start("c:\\qb\\BC.exe");
    if (!p.waitForStarted())
             return;

    p.write("c:\\q.bas");
    p.waitForBytesWritten();
    p.write("\n");
    p.waitForBytesWritten();
    p.write("\n");
    p.waitForBytesWritten();
    p.closeWriteChannel();
    p.waitForFinished();


Ovo je stabilno ali o5 ne radi ono sto treba

[Ovu poruku je menjao 2paca.zwaka dana 10.09.2011. u 00:00 GMT+1]
while(I->AmAlive()){
I->DoSomeProgramming();
}
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.3gnet.mts.telekom.rs.



+2790 Profil

icon Re: Qt i QBASIC kompajler09.09.2011. u 22:42 - pre 153 meseci
Ako komandna linija za kompajliranje glasi

c:\qb\bc.exe c:\q.bas


Onda ti treba ovakav kod:

Code:
QProcess p;

p.setNativeArguments("c:\\q.bas");
p.start("c:\\qb\\bc.exe");

Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

2paca.zwaka
Nikola Ninkovic
Web Developer
BTGPort
Trebinje, RS/BiH

Član broj: 277023
Poruke: 126
*.teol.net.



+7 Profil

icon Re: Qt i QBASIC kompajler10.09.2011. u 13:12 - pre 153 meseci
Hvala na odgovoru ali kada to unesem u cmd
pokrene bc.exe i trebam da unesem 3 prazne linije i dobijem odgovor od kompajlera.......pocetnik sam sto se tice QT i ako moze da mi pomognes oko celog koda......
Code:

    QProcess p;
    p.setNativeArguments("c:\\q.bas");
    p.start("c:\\qb\\bc.exe");

    p.waitForStarted();

    p.waitForReadyRead();

    QMessageBox::warning(this,"De",p.readAll().toLower()); //Ovo obavestenje ne pokazuje nista (prazan mb)

    p.waitForBytesWritten();
    p.write("");
    p.waitForBytesWritten();
    p.write("");
    p.waitForBytesWritten();
    p.write("");
    p.closeWriteChannel();

    p.waitForFinished();



Hvala unapred

[Ovu poruku je menjao 2paca.zwaka dana 10.09.2011. u 14:51 GMT+1]
while(I->AmAlive()){
I->DoSomeProgramming();
}
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.3gnet.mts.telekom.rs.



+2790 Profil

icon Re: Qt i QBASIC kompajler10.09.2011. u 23:08 - pre 153 meseci
Ako je tako, onda

Code:
QProcess p;

p.start("c:\\qb\\bc.exe");
p.write("\n\n\n");

Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

2paca.zwaka
Nikola Ninkovic
Web Developer
BTGPort
Trebinje, RS/BiH

Član broj: 277023
Poruke: 126
*.teol.net.



+7 Profil

icon Re: Qt i QBASIC kompajler10.09.2011. u 23:54 - pre 153 meseci
Zalim ali ne radi ni to :/
while(I->AmAlive()){
I->DoSomeProgramming();
}
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.3gnet.mts.telekom.rs.



+2790 Profil

icon Re: Qt i QBASIC kompajler11.09.2011. u 23:02 - pre 153 meseci
Ne radi zato što mi nisi dao dobro uputstvo za bc.

Dakle,

Code:
QProcess p;

p.start("c:\\qb\\bc.exe");
p.write("c:\\q.bas\n\n\n");
p.waitForFinished(-1);
p.start("c:\\qb\\link.exe");
p.write("c:\\q.obj\n\n\n");
p.waitForFinished(-1);

Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

2paca.zwaka
Nikola Ninkovic
Web Developer
BTGPort
Trebinje, RS/BiH

Član broj: 277023
Poruke: 126
*.teol.net.



+7 Profil

icon Re: Qt i QBASIC kompajler12.09.2011. u 13:17 - pre 153 meseci
Stvarno, zvuci kao zezanje ali ni ovo ne radi :d, nzm sta cu sada....Da li radi tebi?
while(I->AmAlive()){
I->DoSomeProgramming();
}
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
89.216.32.*



+2790 Profil

icon Re: Qt i QBASIC kompajler12.09.2011. u 13:49 - pre 153 meseci
Kada stignem kući probaću. Priznajem da sam okačio netestiran kod.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
89.216.32.*



+2790 Profil

icon Re: Qt i QBASIC kompajler13.09.2011. u 10:02 - pre 153 meseci
Znam u čemu je problem.

Sa processStart ćeš ti lepo da pokreneš proces, ali funkcije vezane za read i write jednostavno neće raditi zato što je BC.EXE stari DOS program, koji ima standardni ulaz i izlaz preko DOS funkcija. Rešenje je da potražiš način da kompajliraš program zadavanjem parametara iz komandne linije tako da te BC više ništa ne pita u toku svog rada.

Sada sam na 64-bitnoj mašini sa kojom BC.EXE niej kompatibilan, tj. ne može se pokrenuti pod njom, ali pokušaj da napraviš input fajl sa potrebnim ulazom (uključujući i enter-e), pa da pokreneš program sa BC < input.

No, još bolje rešenje je da se maneš tog DOS kompajlera i uzmeš nešto friškije, a ima danas besplatnih BASIC kompajlera za Windows, koji su u većoj ili manjoj meri kompatibilni sa QuickBASIC-om. To je moja najtoplija preporuka.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Qt i QBASIC kompajler

[ Pregleda: 2205 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.