Internetabfrage

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Elektrolurch
Beiträge: 168
Registriert: 11.10.2007 16:48
Wohnort: 49°26'51.46"N - 8°59'49.06"E
Kontaktdaten:

Beitrag von Elektrolurch »

Hi All

Ich bin nun ein Stück weiter, das Abholen und Parsen und anschließende Vergleichen läuft.
Nun möchte ich das Ergebnis ja noch per Email an alle Leute der Tipgemeinschaft verschicken.
Mit folgendem Code starte ich mein Email Programm und gebe das Ergebnis dort hinein.
Da ich ein CR und LF hinter jede Zeile gebe sieht die gespeicherte Debugausgabe schön geordnet aus.
Nur im Emailprogramm hängt alles als Rattenschwanz zusamen und schaut sch.... aus.
Kann man das besser gestalten?



Code: Alles auswählen

  Ergebnis.s = Ergebnis.s + "Feld Nummer " + Str(i) + " hat " + Str(R) +" Richtige plus " + Str(Z) + " Zusatzzahl" + Chr(13) + Chr(10)
  
 Next
 ;
 
 Debug Ergebnis.s
 
 
 Mail.s = "mailto:elektrolurch@online.de?Subject=Lottozahlen &body=" + Ergebnis.s
 ShellExecute_(null, null, Mail.s , Null,  Null, #SW_SHOWNORMAL)

Bye Andre
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Code: Alles auswählen

Ergebnis.s = Ergebnis.s + "Feld Nummer " + Str(i) + "%0A hat " + Str(R) +" Richtige plus %0A" + Str(Z) + " Zusatzzahl%0A"
Debug Ergebnis.s
Mail.s = "mailto:elektrolurch@online.de?Subject=Lottozahlen &body=" + Ergebnis.s
ShellExecute_(#Null, #Null, Mail.s , #Null,  #Null, #SW_SHOWNORMAL)
Benutzeravatar
Elektrolurch
Beiträge: 168
Registriert: 11.10.2007 16:48
Wohnort: 49°26'51.46"N - 8°59'49.06"E
Kontaktdaten:

Beitrag von Elektrolurch »

Hi HeXOR

Ein paar weniger %0A und es funktioniert wie ich es mir wünschte.

Code: Alles auswählen

  Ergebnis.s = Ergebnis.s + "Feld Nummer " + Str(i) + " hat " + Str(R) +" Richtige plus " + Str(Z) + " Zusatzzahl%0A" 
Next
Debug Ergebnis.s 
Mail.s = "mailto:elektrolurch@online.de?Subject=Lottozahlen &body=" + Ergebnis.s 
ShellExecute_(#Null, #Null, Mail.s , #Null,  #Null, #SW_SHOWNORMAL)
Kannst du mir nochmal erklären warum Chr(10) LF nicht, aber die Hex Variante funktioniert.
Das würde den Lerneffekt deutlich erhöhen.

Bye Andre
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Nun ja, dein mailto:... ist ja nix anderes als ein URI und dort werden nun mal die selben Zeichen erwartet wie bei irgendeinem Hyperlink, also z.B. %20 als Leerzeichen (wobei das kein wirkliches Sonderzeichen darstellt und daher trotzdem richtig interpretiert wird).

Hier a bissle was zum Nachlesen.
Benutzeravatar
Elektrolurch
Beiträge: 168
Registriert: 11.10.2007 16:48
Wohnort: 49°26'51.46"N - 8°59'49.06"E
Kontaktdaten:

Beitrag von Elektrolurch »

HeX0R hat geschrieben:
Hier a bissle was zum Nachlesen.
Super das ist mehr als ich erhofft hatte.

a bissle ist das schwäbisch? :)
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Badensisch :evil:




:lol:
Benutzeravatar
Elektrolurch
Beiträge: 168
Registriert: 11.10.2007 16:48
Wohnort: 49°26'51.46"N - 8°59'49.06"E
Kontaktdaten:

Beitrag von Elektrolurch »

Hi all

So mein Werk ist fertig und läuft im Interpreter wie eine eins. :allright:

Nun will ich es als Exe compilieren und da passiert es:

Mein Virenscanner schlägt an und ist gar nicht mehr zu beruhigen.
Er sagt: Es handelt sich um einen heuristischen Treffer.
Für eine genauere Analyse sollten sie uns diese Datei über den
Quaratäne Manager zur genaueren Untersuchung zusenden.
Enthält den verdächtigen Code: HEUR/Malware
Die Ursache liegt in der Procedure

Code: Alles auswählen

Procedure.s OpenURL(Url.s, OpenType.b) 
  isLoop.b=1 
  INET_RELOAD.l=$80000000 
  hInet.l=0: hURL.l=0: Bytes.l=0 
  Buffer.s=Space(2048) 
  hInet = InternetOpen_("PB@INET", OpenType, #Null, #Null, 0) 
  hURL = InternetOpenUrl_(hInet, Url, #Null, 0, INET_RELOAD, 0) 
  Repeat 
    Delay(1) 
    InternetReadFile_(hURL, @Buffer, Len(Buffer), @Bytes) 
    If Bytes = 0 
      isLoop=0 
    Else 
      res.s = res + Left(Buffer, Bytes) 
    EndIf 
  Until isLoop=0 
  InternetCloseHandle_(hURL) 
  InternetCloseHandle_(hInet) 
  ProcedureReturn res 
EndProcedure 
Was kann ich da ändern?

Bye Andre
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Beitrag von rolaf »

Elektrolurch hat geschrieben:Was kann ich da ändern?
Dein Virenscanner beruhigen, indem du deine EXE als sauber markierst? :wink:
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

yo, ein paar Virenscanner sind echt Nervensägen.

"heuristik" bedeutet, er ermittelt anhand von sachen, die dein proggi macht, ob es "wahrscheinlich" ein virus ist.
ein programm, das API funktionen wie InternetOpenUrl aufruft, und kein MS-Zertifikat trägt, kann ein Trojaner sein.

....koop ji mol en anständigen virenskänner...

ich hab avast, und der meckert nich zuviel...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Elektrolurch
Beiträge: 168
Registriert: 11.10.2007 16:48
Wohnort: 49°26'51.46"N - 8°59'49.06"E
Kontaktdaten:

Beitrag von Elektrolurch »

Hi
Ich bin eigentlich sehr zufrieden mit meinem Antivir.

Außerdem hatte ich überlegt das Programm Montags bei der Arbeit laufen zu lassen, um alle Kollegen zu informieren, die in der Tippgemeinschaft sind.
Ich denke da würde mein Admin wohl auch nicht begeistert sein.
Es ist nur komisch, dass er im Interpreter garnichts merkt, es sind ja schließlich die gleichen Aufrufe.
Kann man die Procedure vieleicht durch einen anderen Code ersetzen?
Es gibt ja schließlich jede Menge anderer Programme die ähnliches tun und nicht gleich Großalarm auslösen. (Updateprogramme)
Sonst kann ich mein Programm gleich wieder in den elektronischen Mülleimer werfen. :cry:

Bye Andre
Antworten