Avatar billede oz3tl Nybegynder
09. september 2006 - 22:35 Der er 13 kommentarer og
1 løsning

Oversættelse af code fra Qbasic og til Pascal / Delphi

Jeg har noget kode som er skrevet i Qbasic, men jeg vil gerne have lavet det om til Pascal / Delphi, findes der en metode til dette som er forholdsvis nem at gå til eller er det noget som jeg skal holde mig fra, jeg skal bruge com porten og noget eksternt hardware, det eksterne skal sende nogle signaler tilbage til pc'en og udlæse dette på skærmen.

M.V.H.
TLV

P.S. der skal nok komme point på når jeg har fået vished for at det kan lade sig gøre.
Avatar billede psycosoft-funware Nybegynder
10. september 2006 - 12:34 #1
der findes en lille komponentpakke man kan installere i delphi og der fra læse/skrive data direkte til com porten :)
Avatar billede psycosoft-funware Nybegynder
10. september 2006 - 12:38 #2
Avatar billede psycosoft-funware Nybegynder
10. september 2006 - 12:39 #3
eller den mere avancerede: http://sourceforge.net/projects/tpapro/
Avatar billede oz3tl Nybegynder
10. september 2006 - 19:04 #4
Ville det hjælpe hvis jeg lagde sourcekoden fra Q her ind.

M.V.H.
TLV
Avatar billede psycosoft-funware Nybegynder
10. september 2006 - 21:04 #5
meget gerne :)
Avatar billede oz3tl Nybegynder
11. september 2006 - 17:35 #6
Her kommer den så, det skal nok lige tilføjes at det er meget langtid siden at jeg sidst sad og hygge programerede så det kan da godt være at der bliver brug for en del vejledning, også er jeg i tvivl om jeg skal vælge PAS eller DEL, har vistnok en DEL ver 3 eller 4 til at ligge på en cd fra alt om data.


REM ***** Simple Logic Analyzer using RS232 *****
        CLS
        CLEAR
    DIM CAdr(4), p(4, 3)
  CAdr(1) = &H3F8: CAdr(2) = &H2F8: CAdr(3) = &H3E8: CAdr(4) = &H2E8:

REM ***** Declare subroutines for Keys <F1> and <F2> *****
KEY(1) ON: ON KEY(1) GOSUB f1
KEY(2) ON: ON KEY(2) GOSUB f2

REM ***** Write Logic Analyser logo on screen *****
PRINT
PRINT TAB(24); CHR$(201); STRING$(30, CHR$(205)); CHR$(187)
PRINT TAB(24); CHR$(186); STRING$(30, CHR$(32)); CHR$(186)
PRINT TAB(24); CHR$(186); "      PC - Logic Analyser    "; CHR$(186)
PRINT TAB(24); CHR$(186); STRING$(30, CHR$(32)); CHR$(186)
PRINT TAB(24); CHR$(200); STRING$(30, CHR$(205)); CHR$(188)
LOCATE 25, 30
PRINT "<F1> Restart / <F2> End"; SPC(20);

REM ***** determine COM port *****
LOCATE 10, 8
PRINT "COM port : (1) COM1  (2) COM2  (3) COM3  (4) COM4 : ";
DO
  w$ = INKEY$
LOOP UNTIL (VAL(w$) < 5) AND (VAL(w$) > 0)
PRINT "COM"; w$

REM ***** Number of channels to use *****
LOCATE 12, 8
PRINT "Channels (1-4) : ";
DO
  k$ = INKEY$
  Channel = VAL(k$)
LOOP UNTIL (Channel < 5) AND (Channel > 0)
PRINT Channel

REM ***** Sweep mode *****
LOCATE 14, 8
PRINT "Sweep mode: (C)ontinuous / (S)ingle sweep / (P)ause: ";
DO
  meas$ = UCASE$(INKEY$)
LOOP UNTIL meas$ = "C" OR meas$ = "S" OR meas$ = "P"
PRINT meas$

REM ***** Sample rate delay *****
DO
  LOCATE 16, 8
  INPUT "Delay (0 - 50.000) : ", Delay
LOOP UNTIL (Delay >= 0) AND (Delay <= 50000)

HCAdr = CAdr(VAL(w$))
OUT HCAdr + 3, INP(HCAdr + 3) OR 64
FOR w = 1 TO Channel
  p(w, 1) = w * 80: p(w, 2) = (w * 80) - 50: p(w, 3) = w * 80
NEXT w

REM ***** Measurment *****
SCREEN 9
DO
CLS

REM ***** Draw X-axes and write additional text to screen *****
FOR w = 1 TO Channel
  LINE (0, w * 80)-(640, w * 80), 15, , 255
  p(w, 0) = 0
  COLOR w + 2, 0
  LOCATE 1, 1 + ((w - 1) * 10)
  PRINT "Channel"; w;
NEXT w
COLOR 15, 0
PRINT "COM "; w$; "    Delay : "; Delay; " Sweep mode : "; meas$
LOCATE 25, 30
PRINT "<F1> Restart / <F2> End"; SPC(20);

REM ***** Draw reference lines ****
FOR e = 1 TO 640 STEP 10
  LINE (e, 25)-(e, 320), 8, , 1024
NEXT e

REM ***** Draw measured signals *****
FOR i = 1 TO 640
  FOR x = 1 TO Channel
    CState = INP(HCAdr + 6) AND 240
    IF CState AND 2 ^ (3 + x) THEN
      LINE (p(x, 0), p(x, 3))-(i - 1, p(x, 1) - 50), x + 2
      p(x, 3) = p(x, 2)
    ELSE
      LINE (p(x, 0), p(x, 3))-(i - 1, p(x, 1)), x + 2
      p(x, 3) = p(x, 1)
    END IF
    p(x, 0) = i
  NEXT x
  FOR q = 1 TO Delay
NEXT q, i

REM ***** After each sweep: Determine what sweep mode was selected *****
IF meas$ = "p" THEN
  LOCATE 25, 28
  PRINT "Paused! Press any key to continue"; ; SPC(20);
  SLEEP
END IF
LOOP UNTIL meas$ = "S"
LOCATE 25, 20
PRINT "End of Measurement! Press any key to continue"; SPC(10);
SLEEP
RUN

REM ***** Subroutine for F1 *****
f1:
  RUN
RETURN

REM ***** Subroutine for F2 *****
f2:
  SCREEN 0
  CLS
  END
  CLS
RETURN

M.V.H.
TLV
Avatar billede oz3tl Nybegynder
11. september 2006 - 17:37 #7
P.S da jeg skal til sjælland for firmaet, resten af denne uge så kan jeg ikke svare før fredag engang.

M.V.H.
TLV
Avatar billede psycosoft-funware Nybegynder
11. september 2006 - 17:42 #8
det vil være det smarteste at vælge delphi :)

okay, jeg vil se hvad jeg kan gøre med "Basic koden - og god tur til sjælland! :)
Avatar billede psycosoft-funware Nybegynder
11. september 2006 - 17:44 #9
Avatar billede oz3tl Nybegynder
15. september 2006 - 16:57 #10
Er lige nu i gang med at downe delphi 7.

M.V.H.
TLV
Avatar billede oz3tl Nybegynder
16. september 2006 - 00:08 #11
Den spørger til nogle koder hvor skal jeg få dem fra ???????.

M.V.H.
TLV
Avatar billede psycosoft-funware Nybegynder
17. september 2006 - 02:53 #12
Avatar billede oz3tl Nybegynder
17. september 2006 - 12:27 #13
Ja det har jeg prøvet uden held jeg får kun denne fejlkode description The server encountered an internal error () that prevented it from fulfilling this request.

M.V.H.
TLV
Avatar billede oz3tl Nybegynder
24. november 2006 - 23:49 #14
Ingen løsning fremkommet lukker.

M.V.H.
TLV
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester