Droopy's Lib ( Scripting Functions )

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Alle loben die Lib, keiner meldet Bugs, obwohl ich schon reichlich gefunden
habe und die Lib deshalb nicht nutze, sondern nur den Source, der sehr
übersichtlich ist :mrgreen:

Werde mal mit 2 Proceduren anfangen, die seit der ersten Version
enthalten sind:
Falsch, da nicht in allen Windows-Versionen enthalten:

Code: Alles auswählen

ProcedureDLL MakeSureDirectoryPathExists(Directory.s)
  
  ; Return 1 If success / 0 If fail 
  
  retour=MakeSureDirectoryPathExists_(Directory)
  ProcedureReturn retour
EndProcedure
Richtig:

Code: Alles auswählen

; Ersatzfunktion von IBSoftware;
Procedure ForceDirectories(Directory.s)
  If Len(Directory) > 0
    If (Right(Directory, 1) = "\")
      Directory = Left(Directory, Len(Directory) -1)
    EndIf
    If (Len(Directory) < 3) Or FileSize(Directory) = -2 Or GetPathPart(Directory) = Directory
      ProcedureReturn #False
    EndIf
    ForceDirectories(GetPathPart(Directory))
    CreateDirectory(Directory)
    ProcedureReturn #True
  EndIf
EndProcedure
Falsch, weil der Buffer fix auf 255 Byte festgelegt ist, was z.B. bei %Path
meist nicht reichen wird.

Code: Alles auswählen

ProcedureDLL.s GetEnvironmentVariable(Name.s)
  Buffer.s = Space(255) 
  If GetEnvironmentVariable_(Name, Buffer, 255)<>0
    ProcedureReturn Buffer 
  EndIf
EndProcedure
Richtig (by Me):

Code: Alles auswählen

Procedure.s GetEnv(szVariable.s)
  Protected Length.l, Buffer.s
  Length = GetEnvironmentVariable_(@szVariable, @Buffer, 0)
  If Length
    Buffer = Space(Length)
    GetEnvironmentVariable_(@szVariable, @Buffer, Length)
    ProcedureReturn Buffer
  EndIf
  ProcedureReturn ""
EndProcedure
Hab aber keine Lust, die restlchen Fehler auch noch zu beheben, vielleicht
kann der eine oder andere Benutzer der Lib noch falsche Funktionen
Posten, so das Droopy diese mal austauschen kann, damit diese Lib auch
zuverlässig funktioniert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

@ts-soft

Bislang hat immer der Bugs gepostet, der welche gefunden hat. Aber wenn du schon mehr weist, vielleicht wäre es gut erst alle aufzuführen, bevor man das (für Dich) ins Englische übersetzt.

Loben kann man ja trotzdem, oder? :mrgreen:

Ich erwarte keine Antwort. Es war ist nur ein Tip. :allright:

MfG Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Falko hat geschrieben:@ts-soft

Bislang hat immer der Bugs gepostet, der welche gefunden hat.
Aber anscheinend guckt sich keiner den Source an
Falko hat geschrieben: Aber wenn du schon mehr weist, vielleicht wäre es gut erst alle aufzuführen, bevor man das (für Dich) ins Englische übersetzt.
Bin ehrlich gesagt zu Faul, den gesamten Source dort durchzugehen, weil es doch ne ganze Menge ist.
Selbst wenn die Lib fehlerfrei wäre, könnte ich sie nicht verwenden, da die Funktionsnamen so allgemein sind, das sie mit meinen eigenen Bausteinen ständig kollidieren. Solange die Funktionen keine Präfix erhalten sind für mich nur die Sourcen interessant.

Aber vielleicht hilft ja noch der eine oder andere, die Fehler zu beseitigen, so das sich Droopy seine Mühe auch wirklich lohnt. Ich denke mal, das er auch grossen Wert auf Fehlerfreiheit legt, aber bei der Menge an gesammelten Sources wird das Wohl schwierig.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Recht hast du und ich hab's in einfacher Form ins englische forum
gepostet. Ich hoffe du hast nix dagegen.
Natürlich war ich auch zu faul das ganze zu übersetzen.
Aber das bisschen Englisch sollte schon reichen :mrgreen:

http://forums.purebasic.com/english/vie ... 411#118411

MfG Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Bild
Win11 Pro 64-Bit, PB_6.11b1
Antworten