Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi visual basic to delphi (https://www.delphipraxis.net/4449-visual-basic-delphi.html)

Hagen 29. Apr 2003 16:50


visual basic to delphi
 
kann jemand delphi und visual basic und mag mir dabei helfen oder tips geben ...diesen quelltext von vb nach delphi zu übersetzen?

Code:
Private Sub Command1_Click()
Dim Start1 As Long, Rounds As Integer, Bids1 As Integer
Dim sort As String, Inter As Long, A5 As Boolean
Command1.Enabled = False
Text1.Text = Replace(Text1.Text, "+", " ")
ListView1.Sorted = False
ListView1.ListItems.Clear
On Error Resume Next
Inter = 0 
A5 = False
sort = ""
Rounds = 0 
Loop2:
    Source = Get1.OpenURL("http://search.ebay.com/search/search.dll?GetResult&query=" & Text1.Text & "&from=R8&ht=1&combine=y&itf=1&st=2&SortProperty=MetaEndSort" & sort)

 
    Start1 = 1 
   
        Start1 = InStr(Start1, Source, ">Item Title</font>", vbTextCompare)
Loop1:
        If Start1 > 0 And InStr(Start1 + 1, Source, "</td><td valign=top width=52%><font size=3><a href=", vbTextCompare) > 0 Then
       
            start2 = InStr(Start1, Source, "</td><td valign=top width=52%><font size=3><a href=", vbTextCompare)
            start2 = start2 + 52 
            end2 = InStr(start2, Source, ">", vbTextCompare)
            end2 = end2 - 1 
            Len1 = end2 - start2 
            link = Mid(Source, start2, Len1)
            start3 = end2 + 2 
            end3 = InStr(start3, Source, "<", vbTextCompare)
            end3 = end3 
            len3 = end3 - start3 
            Title = Mid(Source, start3, len3)
            start5 = InStr(end3, Source, "$", vbTextCompare)
            end5 = InStr(start5, Source, "<", vbTextCompare)
            len5 = end5 - start5 
            Price = Mid(Source, start5, len5)
            Start4 = InStr(end3, Source, "width=10%><font size=3>", vbTextCompare)
            Start4 = Start4 + 23 
            end4 = InStr(Start4, Source, "<", vbTextCompare)
            len4 = end4 - Start4 
            Bids = Mid(Source, Start4, len4)
            If Bids = "-" Or Bids = "" Then Bids = 0 
            Bids1 = Bids
            ListView1.ListItems.Add , , Title
            ListView1.ListItems(ListView1.ListItems.Count).ListSubItems.Add , , Price
            ListView1.ListItems(ListView1.ListItems.Count).ListSubItems.Add , , Bids1 
            ListView1.ListItems(ListView1.ListItems.Count).ListSubItems.Add , , link
            Start1 = end4 + 1 
            DoEvents
            If StopSearch = True Then
                StopSearch = False
                GoTo End1:
            End If
            Items = Items + 1 
            Label1.Caption = Items
            If Not Start1 = 0 Then
            If InStr(Start1, Source, "</td><td valign=top width=52%><font size=3><a href=", vbTextCompare) > 0 Then GoTo Loop1 
            End If

            If A5 = False Then
                Tstart5 = InStr(1, Source, "[/B] items found for ", vbTextCompare)
                Tstart5 = Tstart5 - 10 
                start5 = InStr(Tstart5, Source, "[B]", vbTextCompare)
                start5 = start5 + 3 
                end5 = InStr(start5, Source, "<", vbTextCompare)
                len5 = end5 - start5 
                SearchR = Mid(Source, start5, len5)
                LoopTimes = SearchR / 50 
                LoopTimes = Round(LoopTimes, 0)
                A5 = True
            End If
           
            Rounds = Rounds + 1 
            Inter = Inter + 50 
            sort = "&skip=" & Inter
            If Rounds = LoopTimes Then
            SortListView ListView1, 3 
            Command1.Enabled = True
            Exit Sub
            Else
            GoTo Loop2 
            End If
            End If
End1:
SortListView ListView1, 3 
Command1.Enabled = True
End Sub

Jazz 29. Apr 2003 17:33

Also ich habe auch vor 2 oder 3 Wochen den Umstieg von VB nach Delphi gewagt und muss sagen dass ich super Fortschritte gemacht habe. Wenn du also nicht ganz blöd und ein wenig verbissen in die Sache schaffst du das ganz allein. Falls du dann ein Befehl net kannst oder weißt benutze die Hilfe oder das Forum hier. Das hilft.

MfG Jazz :dancer:

Hagen 29. Apr 2003 18:33

danke für deinen tip...

Christian Seehase 30. Apr 2003 18:35

Moin Hagen,

erst einmal herzlich willkommen in der Delphi-PRAXIS.

Ich möchte Dir mal ein paar grundsätzliche Unterschiede anhand Deines Beispielcodes vermitteln (soweit sie mir auffallen ;-) )
  • Variablendeklarationen werden mit var eingeleitet (statt DIM)
  • Vor der Typangabe folgt ein : (statt as)
  • Zuweisungen erfolgen mit := (statt =, dieses einfache Gleichheitszeiten wird in Pascal für Vergleiche benutzt)
  • On Error Resume Next lässt sich durch einen try/except Block nachbilden. Da dieser an der "fehlerverdächtigen" Stelle eingebaut werden muss, also nicht global wirkt, hast Du so auch eine bessere Kontrolle darüber wo der Fehler auftritt.
  • strings werden mit + verknüpft (statt &)
  • Vor der Ausgabe eines Wertes (z.B. in einer Messagebox) muss dieser zwingend in einen String konvertiert werden (so es nicht schon einer ist), also z.B. eine Integer Variable mit IntToStr
  • Für Instr kannst Du pos verwenden, oder besser eine Variante davon, die Du hier in der Code Library finden kannst, denn pos sucht immer nur ab Stringanfang.
  • Mid lässt sich durch Copy ersetzen
  • Stringkonstanten werden in ' eingeschlossen (statt ")
  • Bei Indizes werden [] verwendet (statt () )
  • Funktionsargumente müssen in () eingeschlossen werden
  • Zeilen müssen (fast) immer mit ; beendet werden (Ausnahmen z.b. bei begin, else, end vor else)
  • Auch wenn die Möglichkeit besteht mit GOTO und Labeln zu arbeiten, sollte davon Abstand genommen werden. Die Programmstruktur und -übersichtlichkeit werden es Dir dereinst danken.
  • Ein Block Anweisungen wird in begin/end eingeschlossen (statt z.B. End if)
  • StringReplace ersetzt Replace
  • DoEvents lässt sich durch Application.ProcessMessages ersetzen

So, dass war das, was mir so auf Anhieb aufgefallen ist.

BrainCode 30. Apr 2003 23:26

Der Umstieg von VB auf Delphi ist wirklich keine große Sache. Ich würde dir aber empfehlen, ein gutes Grundlagen-Buch (kein "Kochbuch" o.ä.) zu Delphi zu kaufen. Empfehlen könnte ich dir da "Delphi 6" von Elmar Warken (http://www.ewlab.de). Damit hab' ich mir persönlich "intime Details" von Delphi angelesen.

Hagen 1. Mai 2003 19:35

...vielen dank für die tips :love:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz