Skocz do zawartości

Male 3 pytanka


Pieter

Rekomendowane odpowiedzi

Mam 3 pytanka jesli moge to je zadam:

1. Czy zna ktos link do strony z ktorej mozna pobrac pelna wersie Visual Basic 6.0?

2. Czy zna ktos link do strony z ktorej mozna bobrac dodatek do delphi7 PE w postaci

syntax'u VB 6.0? Jesli ktos nierozumie jest to jezyk tak jak jenzykiem jest c++.

3. Jesli w Visual Basic'u jest takie cos jak SendMessageByString to jak mozemy to zapisac

w jezyku Delpji PAS?

Taki przyklad z punktu 3:

 

Const

LB_GETTEXT = 189;

 

SendMessageByString(program HWND,LB_GETTEXT,0,'Jakis tam text'); - Jezyk VB 6.0

---------------------------------------------------------------------------------

- A jak w PAS?

---------------------------------------------------------------------------------

:boxed:

Odnośnik do komentarza
Udostępnij na innych stronach

1) Kompilator Języka Visual Basic jest do sciągnięcia ze strony projektu w dziale downloads http://msdn.microsoft.com/vbasic/downloads/default.aspx . Jest to oczywiscie usluga platna. Jesli szukasz darmowego kompilatora jezyka basic polecam stronę : http://www.compilers.net/Dir/Free/Compilers/Basic.htm.

 

2) Niestety nie wiem...

 

3) Co właściwie robi funkcja SendMessageByString ?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Pieter6: Daruj sobie VB i jak juz to uzywaj BCX Basic:

http://bcx.basicguru.com/

 

1) Jest to mieszanka Visual Basica, Quick Basica i Power Basica. Najwazniejsza jego zaleta jest to, ze calkowicie darmowy do prywatnego oraz profesjonalnego uzytku!

2) Caly czas rozwijany.

3) Dziala na zasadzie konwersji kodu do C a potem kompilacji jego w LCC lub Kompilatora Pelego (linki na stronie). Dzieki temu mozna jeszcze bardziej zoptymalizowac kod poprawiajac go w postaci C. No i zawsze takiemu programowi blizej do szybkosci softu napisanego w C a nie VB (ktory od C jest z 3 razy wolniejszy). :D

4) Wstawki ASM'a i C bezposrednio do kodu.

5) Sam Xception (ten od Xtreme3D dla GM'a) go polecil. Bardzo dobry do szybkiego tworzenia dll'i dla GM'a. :)

 

W wakacje sam sie nim pobawie, bo teraz nie mam czasu. :)

 

Bwo: Ach, Ranma się podjarał =]]]] =P

Odnośnik do komentarza
Udostępnij na innych stronach

Słuchaj pieter. Od kiedy w showmessage(); jest integer? Ta funkcja jest do wyświetlania dialogu na STRING!

Przykład:

showmessage('Dzień Dobry!');

Pokaże się okienko z napisem Dzień Dobry.

 

Możesz w showmessage wykorzystać też zmienne, ale i tak się pojawią w postaci string.

Przykład:

var
mojazmienna:integer;
begin
mojazmienna:=3;
showmessage(mojazmienna);
end;

Pojawi się tobie wtedy okienko z napisem 3, czyli z wartością zmiennej.

 

Możesz też robić mieszane, czyli integer i string. Dam tobie na to dwa przykłady.

1:

var
mojazmienna:integer;
begin
mojazmienna:=3;
showmessage('Moja zmienna równa się ',mojazmienna);
end;

2:

var
mojazmienna:integer;
mojnapis:string;
begin
mojazmienna:=3;
mojnapis:='Moja zmienna równa się ';
showmessage(mojnapis, mojazmienna);
end;

 

Mam nadzieję, że zrozumiałeś coś z tego wykładu :D

Odnośnik do komentarza
Udostępnij na innych stronach

Podam ci kod ktory chce przerobic na c++ z VB!

Kod:

VERSION 5.00

Begin VB.Form Form1

BorderStyle  = 3  'Fixed Dialog

Caption      = "Mau'Dae's Kill Tracker  2.0"

ClientHeight    = 2865

ClientLeft      = 45

ClientTop    = 435

ClientWidth  = 4335

Icon            = "jedithing.frx":0000

LinkTopic    = "Form1"

MaxButton    = 0 'False

MinButton    = 0 'False

ScaleHeight  = 2865

ScaleWidth      = 4335

StartUpPosition = 3  'Windows Default

Begin VB.CommandButton Command1

      Caption      = "Options"

      Height          = 255

      Left            = 1320

      TabIndex        = 14

      Top          = 2280

      Width        = 1575

End

Begin VB.Frame Frame1

      BackColor    = &H80000009&

      Caption      = "Kills"

      Height          = 425

      Left            = 60

      TabIndex        = 12

      Top          = 30

      Width        = 975

      Begin VB.Label Label1

      AutoSize        = -1  'True

      BackStyle    = 0  'Transparent

      Caption      = "0"

      Height          = 195

      Left            = 120

      TabIndex        = 13

      Top          = 165

      Width        = 90

      End

End

Begin VB.TextBox Text4

      Height          = 285

      Left            = 3960

      TabIndex        = 8

      Text            = "10"

      Top          = 1920

      Width        = 375

End

Begin VB.TextBox Text3

      Height          = 285

      Left            = 1320

      TabIndex        = 5

      Text            = "|S/S| Mau'dae"

      Top          = 1920

      Width        = 1575

End

Begin VB.CommandButton Command3

      Caption      = "Command3"

      Height          = 255

      Left            = 4200

      TabIndex        = 4

      Top          = 4680

      Width        = 855

End

Begin VB.Timer Timer1

      Interval        = 1

      Left            = 3360

      Top          = 0

End

Begin VB.TextBox Text2

      Height          = 285

      Left            = 0

      Locked          = -1  'True

      TabIndex        = 3

      Top          = 1560

      Width        = 4335

End

Begin VB.CommandButton Command4

      Caption      = "Command4"

      Height          = 195

      Left            = 5640

      TabIndex        = 2

      Top          = 2760

      Width        = 735

End

Begin VB.CommandButton Command2

      Caption      = "Command2"

      Height          = 255

      Left            = 4440

      TabIndex        = 1

      Top          = 3000

      Width        = 1695

End

Begin VB.TextBox Text1

      Height          = 1575

      Left            = 0

      Locked          = -1  'True

      MultiLine    = -1  'True

      TabIndex        = 0

      Top          = 0

      Width        = 4335

End

Begin VB.Label Label8

      Height          = 255

      Left            = 120

      TabIndex        = 16

      Top          = 3840

      Width        = 3135

End

Begin VB.Label Label7

      Height          = 255

      Left            = 120

      TabIndex        = 15

      Top          = 3360

      Width        = 3015

End

Begin VB.Label Label6

      AutoSize        = -1  'True

      BackStyle    = 0  'Transparent

      Caption      = "For updates visit:  http://sithshadows.mygamesite.net/"

      Height          = 195

      Left            = 240

      TabIndex        = 11

      Top          = 2640

      Width        = 3840

End

Begin VB.Label Label5

      AutoSize        = -1  'True

      BackStyle    = 0  'Transparent

      Caption      = "(exact)"

      Height          = 195

      Left            = 360

      TabIndex        = 10

      Top          = 2060

      Width        = 480

End

Begin VB.Label Label4

      AutoSize        = -1  'True

      BackStyle    = 0  'Transparent

      Caption      = "m/s"

      Height          = 195

      Left            = 3360

      TabIndex        = 9

      Top          = 2040

      Width        = 270

End

Begin VB.Label Label3

      AutoSize        = -1  'True

      Caption      = "Refresh rate:"

      Height          = 195

      Left            = 3000

      TabIndex        = 7

      Top          = 1920

      Width        = 915

End

Begin VB.Label Label2

      AutoSize        = -1  'True

      BackStyle    = 0  'Transparent

      Caption      = "In Game Name:"

      Height          = 195

      Left            = 120

      TabIndex        = 6

      Top          = 1920

      Width        = 1110

End

End

Attribute VB_Name = "Form1"

Attribute VB_GlobalNameSpace = False

Attribute VB_Creatable = False

Attribute VB_PredeclaredId = True

Attribute VB_Exposed = False

Private Sub Command1_Click()

Form2.Show

End Sub

 

Private Sub Command3_Click()

'count lines

    Dim A%, B$

    A% = 1

    B$ = Text1.Text

 

 

    Do While InStr(B$, Chr$(13))

        A% = A% + 1

        B$ = Mid$(B$, InStr(B$, Chr$(13)) + 1)

    Loop

    countLines = CStr(A%)

 

'get last line

    Dim curPos As Integer, lineStart As Integer, n As Integer

    Dim finis As Boolean, breakLoop As Boolean, i As Integer

    Dim strArray() As String

   

    lineStart = 1

    curPos = 1

    n = 0

    finis = False

    breakLoop = False

   

 

 

        curPos = InStr(lineStart, Text1.Text, vbCrLf, vbBinaryCompare)

 

 

        Text1.SelStart = countLines - 1

 

 

            If curPos > 1 Then

 

 

                Text1.SelLength = curPos - lineStart

                Else

 

 

                Text1.SelLength = (Len(Text1.Text) + 1) - lineStart

                        finis = True

                    End If

                    ReDim Preserve strArray(n) As String

                    strArray(n) = Text1.SelText

                   

                    If finis Then breakLoop = True

                    n = n + 1

                    lineStart = curPos + 2

                    curPos = 1

                   

                    Text2.Text = strArray(n - 1)

 

End Sub

Private Sub Command4_Click()

    Dim curPos As Integer, lineStart As Integer, n As Integer

    Dim finis As Boolean, breakLoop As Boolean, i As Integer

    Dim strArray() As String

   

    lineStart = 1

    curPos = 1

    n = 0

    finis = False

    breakLoop = False

   

 

 

    Do Until breakLoop

        curPos = InStr(lineStart, Text1.Text, vbCrLf, vbBinaryCompare)

 

 

        Text1.SelStart = lineStart - 1

 

 

            If curPos > 1 Then

 

 

                Text1.SelLength = curPos - lineStart

                Else

 

 

                Text1.SelLength = (Len(Text1.Text) + 1) - lineStart

                        finis = True

                    End If

                    ReDim Preserve strArray(n) As String

                    strArray(n) = Text1.SelText

                   

                    If finis Then breakLoop = True

                    n = n + 1

                    lineStart = curPos + 2

                    curPos = 1

 

 

                    DoEvents

                    Loop

                   

                    Text2.Text = strArray(n - 2)

 

End Sub

Private Sub Command5_Click()

End Sub

Private Sub Form_Load()

On Error Resume Next

If GetSetting("Kill Tracker", "program", "kills") = "" Then

SaveSetting "Kill Tracker", "program", "kills", "0"

End If

Label1.Caption = GetSetting("Kill Tracker", "program", "kills")

If GetSetting("Kill Tracker", "program", "name") = "" Then

SaveSetting "Kill Tracker", "program", "name", "Exact Name"

End If

If GetSetting("Kill Tracker", "program", "refresh") = "" Then

SaveSetting "Kill Tracker", "program", "refresh", "10"

End If

Text4.Text = GetSetting("Kill Tracker", "program", "refresh")

Text3.Text = GetSetting("Kill Tracker", "program", "name")

 

If GetSetting("Kill Tracker", "messages", "sabermsg") = "" Then

SaveSetting "Kill Tracker", "messages", "sabermsg", "^3%n^1,You are the ^5%s^1 person i have killed."

End If

If GetSetting("Kill Tracker", "messages", "kickmsg") = "" Then

SaveSetting "Kill Tracker", "messages", "kickmsg", "^1Haha, %n, you shit head, i kicked you."

End If

Label7.Caption = GetSetting("Kill Tracker", "messages", "sabermsg")

Label8.Caption = GetSetting("Kill Tracker", "messages", "kickmsg")

 

If Command = "" Then

Else

Shell App.Path + "\jk2mp.exe " + Command

End If

If App.PrevInstance = True Then

End

End If

Timer1.Interval = Val(Text4.Text)

Timer1.Enabled = True

End Sub

 

Private Sub Form_Terminate()

End

End Sub

 

Private Sub Form_Unload(Cancel As Integer)

End

End Sub

 

Private Sub Label7_Change()

SaveSetting "Kill Tracker", "messages", "sabermsg", Label7.Caption

End Sub

 

Private Sub Label8_Change()

SaveSetting "Kill Tracker", "messages", "kickmsg", Label8.Caption

End Sub

 

Private Sub Label9_Click()

 

End Sub

 

Private Sub Text3_Change()

SaveSetting "Kill Tracker", "program", "name", Text3.Text

End Sub

 

Private Sub Text4_Change()

If Val(Text4.Text) > 9999 Then

Text4.Text = "9999"

End If

If Text4.Text = 0 Then Text4.Text = 1

SaveSetting "Kill Tracker", "program", "refresh", Text4.Text

Timer1.Interval = Val(Text4.Text)

End Sub

Private Sub Text5_Change()

 

End Sub

Private Sub Text5_LostFocus()

 

End Sub

 

Private Sub Timer1_Timer()

On Error Resume Next

Dim jkmpwinconsole As Long, editx As Long

jkmpwinconsole = FindWindow("jk2mp winconsole", vbNullString)

editx = FindWindowEx(jkmpwinconsole, 0&, "edit", vbNullString)

editx = FindWindowEx(jkmpwinconsole, editx, "edit", vbNullString)

Dim TheText As String, TL As Long

TL = SendMessageLong(editx, WM_GETTEXTLENGTH, 0&, 0&)

TheText = String(TL + 1, " ")

Call SendMessageBystring(editx, WM_GETTEXT, TL + 1, TheText)

Text1.Text = Left(TheText, TL)

'get last line

    Dim curPos As Integer, lineStart As Integer, n As Integer

    Dim finis As Boolean, breakLoop As Boolean, i As Integer

    Dim strArray() As String

   

    lineStart = 1

    curPos = 1

    n = 0

    finis = False

    breakLoop = False

   

 

 

    Do Until breakLoop

        curPos = InStr(lineStart, Text1.Text, vbCrLf, vbBinaryCompare)

 

 

        Text1.SelStart = lineStart - 1

 

 

            If curPos > 1 Then

 

 

                Text1.SelLength = curPos - lineStart

                Else

 

 

                Text1.SelLength = (Len(Text1.Text) + 1) - lineStart

                        finis = True

                    End If

                    ReDim Preserve strArray(n) As String

                    strArray(n) = Text1.SelText

                   

                    If finis Then breakLoop = True

                    n = n + 1

                    lineStart = curPos + 2

                    curPos = 1

 

 

                    DoEvents

                    Loop

                   

                    Text2.Text = strArray(n - 2)

                   

jkmpwinconsole = FindWindow("jk2mp winconsole", vbNullString)

editx = FindWindowEx(jkmpwinconsole, 0&, "edit", vbNullString)

 

If InStr(Text2.Text, "by " + Text3.Text) Then

Label1.Caption = Label1.Caption + 1

asd = InStr(Text2.Text, "was") - 1

blah = Mid(Text2.Text, 1, asd - 1)

 

blurp = Replace(blah, "[", "ű")

blurp = Replace(blurp, "]", "ţ")

 

If ReadINI(blurp, "kills", App.Path & "\tracker.dll") = "" Then

Call writeini(blurp, "kills", "1", App.Path & "\tracker.dll")

End If

dfg = ReadINI(blurp, "kills", App.Path & "\tracker.dll")

Call writeini(blurp, "kills", Val(dfg) + 1, App.Path & "\tracker.dll")

 

sbrmsg = Replace(Label7.Caption, "%n", blah)

sbrmsg = Replace(sbrmsg, "%s", Label1.Caption)

sbrmsg = Replace(sbrmsg, "%t", Time)

sbrmsg = Replace(sbrmsg, "%i", dfg)

Call SendMessageBystring(editx, WM_SETTEXT, 0&, "say " + sbrmsg)

Call SendMessageLong(editx, WM_CHAR, 13, 0&)

SaveSetting "Kill Tracker", "program", "kills", Label1.Caption

jkmpwinconsole = FindWindow("jk2mp winconsole", vbNullString)

editx = FindWindowEx(jkmpwinconsole, 0&, "edit", vbNullString)

editx = FindWindowEx(jkmpwinconsole, editx, "edit", vbNullString)

Call SendMessageBystring(editx, WM_SETTEXT, 0&, "")

Text2.Text = ""

Exit Sub

End If

If InStr(Text2.Text, "from " + Text3.Text) Then

Label1.Caption = Label1.Caption + 1

asd = InStr(Text2.Text, "received") - 1

blah = Mid(Text2.Text, 1, asd - 1)

 

blurp = Replace(blah, "[", "ű")

blurp = Replace(blurp, "]", "ţ")

 

If ReadINI(blurp, "kills", App.Path & "\tracker.dll") = "" Then

Call writeini(blurp, "kills", "1", App.Path & "\tracker.dll")

End If

dfg = ReadINI(blurp, "kills", App.Path & "\tracker.dll")

Call writeini(blurp, "kills", Val(dfg) + 1, App.Path & "\tracker.dll")

 

kckmsg = Replace(Label8.Caption, "%n", blah)

kckmsg = Replace(kckmsg, "%s", Label1.Caption)

kckmsg = Replace(kckmsg, "%t", Time)

kckmsg = Replace(kckmsg, "%i", dfg)

Call SendMessageBystring(editx, WM_SETTEXT, 0&, "say " + kckmsg)

Call SendMessageLong(editx, WM_CHAR, 13, 0&)

SaveSetting "Kill Tracker", "program", "kills", Label1.Caption

jkmpwinconsole = FindWindow("jk2mp winconsole", vbNullString)

editx = FindWindowEx(jkmpwinconsole, 0&, "edit", vbNullString)

editx = FindWindowEx(jkmpwinconsole, editx, "edit", vbNullString)

Call SendMessageBystring(editx, WM_SETTEXT, 0&, "")

Text2.Text = ""

Exit Sub

End If

If InStr(Text2.Text, """name"" is:") Then

asd = InStr(Text2.Text, "is:""") + 4

ads = InStr(Text2.Text, """ default:")

blah = Mid(Text2.Text, asd, ads - asd)

Text3.Text = blah

Call SendMessageBystring(editx, WM_SETTEXT, 0&, "say ^5" & Text3.Text & " ^1has signed in.")

Call SendMessageLong(editx, WM_CHAR, 13, 0&)

jkmpwinconsole = FindWindow("jk2mp winconsole", vbNullString)

editx = FindWindowEx(jkmpwinconsole, 0&, "edit", vbNullString)

editx = FindWindowEx(jkmpwinconsole, editx, "edit", vbNullString)

Call SendMessageBystring(editx, WM_SETTEXT, 0&, "")

Text2.Text = ""

Exit Sub

End If

If InStr(Text2.Text, Text3.Text & " entered the game") Then

Wait 1.1

Call SendMessageBystring(editx, WM_SETTEXT, 0&, "say ^1Mau'dae's^4 Kill Tracker Version ^32.0")

Call SendMessageLong(editx, WM_CHAR, 13, 0&)

jkmpwinconsole = FindWindow("jk2mp winconsole", vbNullString)

editx = FindWindowEx(jkmpwinconsole, 0&, "edit", vbNullString)

editx = FindWindowEx(jkmpwinconsole, editx, "edit", vbNullString)

Call SendMessageBystring(editx, WM_SETTEXT, 0&, "")

Text2.Text = ""

Exit Sub

End If

If InStr(Text2.Text, Text3.Text + ": !time") Then

Wait 1.2

Call SendMessageBystring(editx, WM_SETTEXT, 0&, "say ^5It is currently " & Time)

Call SendMessageLong(editx, WM_CHAR, 13, 0&)

jkmpwinconsole = FindWindow("jk2mp winconsole", vbNullString)

editx = FindWindowEx(jkmpwinconsole, 0&, "edit", vbNullString)

editx = FindWindowEx(jkmpwinconsole, editx, "edit", vbNullString)

Call SendMessageBystring(editx, WM_SETTEXT, 0&, "")

Text2.Text = ""

Exit Sub

End If

If InStr(Text2.Text, Text3.Text + ": !kills") Then

Wait 1.2

Call SendMessageBystring(editx, WM_SETTEXT, 0&, "say ^1I have killed a total of ^5" + Label1.Caption + "^1 people.")

Call SendMessageLong(editx, WM_CHAR, 13, 0&)

jkmpwinconsole = FindWindow("jk2mp winconsole", vbNullString)

editx = FindWindowEx(jkmpwinconsole, 0&, "edit", vbNullString)

editx = FindWindowEx(jkmpwinconsole, editx, "edit", vbNullString)

Call SendMessageBystring(editx, WM_SETTEXT, 0&, "")

Text2.Text = ""

Exit Sub

End If

End Sub

Private Sub Timer2_Timer()

 

End Sub

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Po co mi to? Nie uzywam VB. Zreszta VB nie jest stworzony po to, by konwertowac kod na c++. To co wkleiles to od taki dodatek.

A zadaniem BCX'a jest wlasnie tylko i wylacznie kompilacja poprzez wczesniejsza konwersje na c. :)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...