AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Set of WideChar (TDynamicCharSet)
Thema durchsuchen
Ansicht
Themen-Optionen

Set of WideChar (TDynamicCharSet)

Ein Thema von himitsu · begonnen am 9. Dez 2009 · letzter Beitrag vom 22. Apr 2010
 
Benutzerbild von himitsu
himitsu

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

Re: Set of WideChar (TDynamicCharSet)

  Alt 10. Feb 2010, 22:04
Diejenigen Zwei, welche das heute/vorhin runtergeladen haben ... bitte "dringend" updaten.

Hatte leider 'nen Fehler an falscher Stelle behoben und es somit nicht grad verbessert.
Leider fiel der Fehler nicht direkt auf, da dieser Codeteil seltener verwendet wird.

In der Resitze-Prozedur hatte ich hier das vermeintlich falsche i2 durch i ersetzt
Delphi-Quellcode:
If (i = 0) and Assigned(_Encoding) Then i2 := 1;
SetLength(_Map, i); // set length and make unique
obwohl es andersrum richtig gewesen wäre.
Delphi-Quellcode:
If (i2 = 0) and Assigned(_Encoding) Then i2 := 1;
SetLength(_Map, i2); // set length and make unique
Somit wurden eventuell höhere Bits ausversehn gelöscht, wenn man 2 Sets irgenwie miteinander verrechnete.

Nja, wenigstens fiel der Fehler grad auf, als ich eben meinen ersten Allerenumerator gebastelt hatte und mich über falsche Ergebnisse wunderte.

So, Fehler behoben und ab nur kann man, dank des Enumerators, auch noch das nette For-In benutzen.
Delphi-Quellcode:
Var C: Char;
For C in HexNumerals do S := S + C;
// S = '0123456789ABCDEFabcdef'
// da HexNumerals = ['0'..'9', 'A'..'F', 'a'..'f']
[edit 11.02.]
Code etwas aufgeräumt und neue Funktionen:

LowChar = niedrigstes Zeichen im Set
HighChar = höchstes Zeichen im Set
CountChars = Anzahl der Zeichen im Set
ContainsAnyChar = prüft ob irgendeines der Zeichen des SETS im String vorkommt
ContainsAllChars = prüft alle Zeichen des SETS im String mindestens einmal vorkommen
ContainsOnlyThisChars = prüft ob alle Zeichen des Strings im SET vorkommen (nur der Name gefällt mir irgendwie nicht )

[add]
Es gibt nun auch eine Shift-Funktion (siehe Demo-Projekt),
aber fragt mich bitte nicht, wofür man diese gebrauchen kann.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
 


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 01:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz