AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Unit WebUtils 1.2.2
Thema durchsuchen
Ansicht
Themen-Optionen

Unit WebUtils 1.2.2

Ein Thema von Brainstalker · begonnen am 18. Aug 2006 · letzter Beitrag vom 2. Apr 2011
Antwort Antwort
Benutzerbild von Brainstalker
Brainstalker

Registriert seit: 9. Jan 2004
Ort: Berlin
176 Beiträge
 
Delphi 2009 Professional
 
#1

Unit WebUtils 1.2.2

  Alt 18. Aug 2006, 22:33
WebUtils Version 1.2.2

Ich habe mal die eine oder andere Funktion gebraucht und mit der Zeit sind es ein paar geworden. Ich dachte ich packe mal alle zusammen in eine Unit und veröffentliche sie hier.
Ob sie der eine oder andere benötigt weiß ich nicht, aber hier ist sie.

Man kann beispielsweise die Downloadzeit bestimmen (angabe in Bit/s), eine URL decodieren/encodieren oder eine URL zerlegen lassen (ohne API-Aufruf).

Ich hab versucht so wenig Units wie möglich zu benutzen. Sinn ist es eine Unabhängige Unit zu haben die nicht mit API Aufrufen arbeitet, damit man diese auch auf anderen Betriebssystemen benutzen kann.

Würde mich über Kritik und Verbesserungsvorschläge freuen.

Funktionsübersicht / Features

Delphi-Quellcode:
function EncodeURL(const URL: string): string; // RFC 1738
// Ersetzt Sonderzeichen in URLs durch Hexcodes

function DecodeURL(const URL: string): string; // RFC 1738
// Ersetzt die Hexcodes in URLs durch Zeichen

function IsValidIp(const IP: string): boolean; // IPv4
// Prüft eine IPv4 Adresse auf Gültigkeit

function IsValidIpv6(const IP: string): boolean; // incomplete
// Prüft eine IPv6 Adresse auf Gültigkeit

function CalcDLTime(const Size: int64; Units, Speed: integer): TTimeRec;
// Berechnet die Downloadzeit anhand Geschwindigkeit und Downloadgröße

function BitToByte(const Bits: int64): int64;

function ByteToBit(const Bytes: int64): int64;

function ChangeUnit(const Value: integer; const uFrom, uTo: integer): extended;
// Ändert von einer Bytegröße zu einer anderen (z.B. MB -> KB)

function GetURLComponents(const URL: string): TURLRec;
// Gibt eine URL in Einzelteilen zurück
History

- 1.2.2 (2011-04-01)
Bugfix: IsValidIpv6, Region at start is now
recognized

- 1.2.1 (2011-01-17)
Update: IsValidIpv6

- 1.2 (2011-01-14)
Changed some functions to int64 input to support
larger numbers
Add: IsValidIpv6 function (incomplete)
Bug: IsValidIp now checks last block
Angehängte Dateien
Dateityp: pas WebUtils.pas (9,8 KB, 37x aufgerufen)
Dateityp: zip WebUtils.zip (273,9 KB, 36x aufgerufen)
Michael N.
Brainstalker

Geändert von Brainstalker ( 2. Apr 2011 um 19:02 Uhr) Grund: Versionsänderung zu 1.2.2
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.183 Beiträge
 
Delphi 12 Athens
 
#2

Re: Unit WebUtils

  Alt 18. Aug 2006, 23:39
Delphi-Quellcode:
function CalcDLTime(const Size: extended; const Units, Speed: integer): TTimeRec;
function BitToByte(const Bits: extended): extended;
function ByteToBit(const Bytes: extended): extended;
ich würde da von Extended auf Integer umstellen, denn halbe Bytes gibt's ja nicht, vorallem nicht bei einer Dateigröße

bei BitToByte/ByteToBit kann man dann auch schön nur noch mit SHL/SHR arbeiten.

z.B.:
Delphi-Quellcode:
Byte := (Bit + 7) shr 3;

Bit := Byte shl 3;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Unit WebUtils

  Alt 19. Aug 2006, 00:38
Hallo Brainstalker,

hier eine Alternative zu deiner Funktion CheckIP:

Delphi-Quellcode:
// uses WinSock;

function IsValidIP (const aIP: string): Boolean;
begin
  Result := ((aIP <> '') and (inet_addr(PChar(aIP)) <> INADDR_NONE));
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Brainstalker
Brainstalker

Registriert seit: 9. Jan 2004
Ort: Berlin
176 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Unit WebUtils

  Alt 19. Aug 2006, 14:38
Ich weiß gar nicht mehr warum ich das in extended geändert hatte, ich glaube ich hatte mal ziemlich große Zahlen benutzt. da mann aber Gigabyte angeben kann, wird integer bei heutigen Datenmengen noch nicht gesprengt. Ansonsten kommt halt nen longint hin. Also kurz und knapp ich werds zu integer ändern.
Hm shl und shr hab ich noch nie benutzt, sehe mir das mal genauer an und werds dann einbauen.

Und zum IP checken, mir ist schon klar das es damit einfacher geht, aber ich wollte so gut wie keine anderen Units benutzen und habs deshalb selbst implementiert.
Michael N.
Brainstalker
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Unit WebUtils

  Alt 19. Aug 2006, 18:58
Was spricht denn gegen Int64?
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Brainstalker
Brainstalker

Registriert seit: 9. Jan 2004
Ort: Berlin
176 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Unit WebUtils

  Alt 11. Sep 2006, 21:50
So ne neue Version liegt schon länger rum, aber guter Wein muss ja auch länger lagern.
Ich seh mir die Unit demnächst nochmal genauer an und bau sie vielleicht ein bisschen aus.
Wenn noch jemand Vorschläge oder Verbesserungen hat immer her damit.
Michael N.
Brainstalker
  Mit Zitat antworten Zitat
Benutzerbild von Brainstalker
Brainstalker

Registriert seit: 9. Jan 2004
Ort: Berlin
176 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Unit WebUtils

  Alt 14. Jan 2011, 21:40
So nach sehr langer Zeit mal wieder ein Update.
Version 1.2 online.
Michael N.
Brainstalker
  Mit Zitat antworten Zitat
Benutzerbild von Brainstalker
Brainstalker

Registriert seit: 9. Jan 2004
Ort: Berlin
176 Beiträge
 
Delphi 2009 Professional
 
#8

AW: Unit WebUtils 1.2.2

  Alt 2. Apr 2011, 13:38
Version 1.2.2 ist jetzt online.

Die Ipv6 Prüffunktion wurde verbessert. Es fehlt allerdings immer noch die Erkennung von Ipv4 Adressen innerhalb von Ipv6 Adressen.

Geplant für die nächste Major Version ist:

- GetURLComponents -> Erkennung von Ipv6 Adressen
- Eine Email Prüffunktion
Michael N.
Brainstalker
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

AW: Unit WebUtils 1.2.2

  Alt 2. Apr 2011, 16:13
Könntest du mal eine Liste mit den von deiner Unit zur Verfügung gestellten Routinen posten?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Brainstalker
Brainstalker

Registriert seit: 9. Jan 2004
Ort: Berlin
176 Beiträge
 
Delphi 2009 Professional
 
#10

AW: Unit WebUtils 1.2.2

  Alt 2. Apr 2011, 19:03
Hätt ich auch mal selbst drauf kommen können. Hab es im ersten Beitrag ergänzt.
Michael N.
Brainstalker
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 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