GeoGet

Complete geocaching solutions

User Tools

Site Tools


user:skripty:upgrade280

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
user:skripty:upgrade280 [2013/11/13 15:28] gebyuser:skripty:upgrade280 [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 12: Line 12:
 Dříve platilo, že datový typ **String** byl totožný s typem **AnsiString**. Nyní je String totožný s **UnicodeString**!  Dříve platilo, že datový typ **String** byl totožný s typem **AnsiString**. Nyní je String totožný s **UnicodeString**! 
  
-Při přiřazování obsahu z jednoho typu stringu do druhého dochází k implicitním konverzím dat, takže si většinou změny ani nevšimnete. Nicméně použití správného datového typu je fatální při operacích, kde se pracuje přímo s obsahem pěti, kde mají být data stringu. Tedy například při načítání a zápisu dat do TStream, nebo při volání externích DLL.+Při přiřazování obsahu z jednoho typu stringu do druhého dochází k implicitním konverzím dat, takže si většinou změny ani nevšimnete. Nicméně použití správného datového typu je fatální při operacích, kde se pracuje přímo s obsahem paměti, kde mají být data stringu. Tedy například při načítání a zápisu dat do TStream, nebo při volání externích DLL.
  
 Zpravidla stačí na správných místech místo String použít AnsiString, a úprava bude i zpětně kompatibilní. Zpravidla stačí na správných místech místo String použít AnsiString, a úprava bude i zpětně kompatibilní.
  
 ===== Ikony ===== ===== Ikony =====
-Ikony skriptů, ale třeba i ikony generované pro visualizační skripty, mohou nově obsahovat alfakanál s poloprůhledností. Ten se použije automaticky u obrázků s 32-bitovými pixely. U takových se nepoužije průhlednost podle prvního pixelu, jako to bylo doposud!+Ikony skriptů, ale třeba i ikony generované pro vizualizační skripty, mohou nově obsahovat alfakanál s poloprůhledností. Ten se použije automaticky u obrázků s 32-bitovými pixely. U takových se nepoužije průhlednost podle prvního pixelu, jako to bylo doposud! 
 + 
 +<WRAP center round important 80%> 
 +Pozor, TBitmap ve výchozím stavu používá právě 32-bitový formát! 
 +</WRAP>
  
-Pozor, TBitmap ve výchozím stavu používá práve 32-bitový formát! 
  
 ===== Regulární výrazy ===== ===== Regulární výrazy =====
-Změněna byla i knihovna na vykonávání regulárních výrazů. Nyní je používána knihovna PCRE. Díky tomu přestaly fungovat nestandardní modifikátory staré knihovny (g, r), a je třeba ty regulární výrazy přepsat. Viz. [[http://www.regular-expressions.info/modifiers.html]]+Změněna byla i knihovna na vykonávání regulárních výrazů. Nyní je používána knihovna PCRE. Díky tomu přestaly fungovat nestandardní modifikátory staré knihovny (''g''''r''), a je třeba ty regulární výrazy přepsat. Viz. [[http://www.regular-expressions.info/modifiers.html]]. (Původní modifikátory jsou [[http://regexpstudio.com/tregexpr/help/regexp_syntax.html|popsány zde]].) 
 + 
 +<WRAP center round tip 80%> 
 +Modifikátor ''g'' je možné vypustit. Pouze v případě, že byl použit jako ''-g'', je třeba regulární výraz přepsat tak, aby nebyl "hladový"
 +</WRAP>
  
 ===== TStringList ===== ===== TStringList =====
-Sám o sobě je vnitřně unicode. Při načítání dat pomocí LoadFromFile nebo LoadFromStream jsou data konvertována z ANSI do Unicode. Leda že by na začátku dat byl BOM, pak se konvertuje z kódování podle nalezeného BOMu. (tedy UTF-8 nebo UTF-16) Tato konverze může být nechtěná!+Sám o sobě je vnitřně unicode. Při načítání dat pomocí LoadFromFile nebo LoadFromStream jsou data konvertována z ANSI do Unicode. Leda že by na začátku dat byl ''BOM'', pak se konvertuje z kódování podle nalezeného BOMu. (tedy UTF-8 nebo UTF-16) Tato konverze může být nechtěná!
  
-Lze to obejít tak, že si data načtete nejprve do AnsiStringu, a ten pak přiřadíte to TStringList.text property. LoadFromFile a LoadFromStream to interně dělá stejně, akorát tam navíc udělá tu konverzi.+<WRAP center round tip 80%> 
 +Lze to obejít tak, že si data načtete nejprve do ''AnsiStringu'', a ten pak přiřadíte to ''TStringList.text'' property. LoadFromFile() a LoadFromStream() to interně dělají stejně, akorát tam navíc udělají tu konverzi. 
 +</WRAP>
  
  
user/skripty/upgrade280.1384352904.txt.gz · Last modified: 2013/11/13 00:00 (external edit)