mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-02 12:20:38 +02:00
Source code of the Lazarus IDE for Free Pascal.
--
Visit us at https://www.lazarus-ide.org or https://forum.lazarus.freepascal.org
![]() LazUtf8: first attempt to rewrite Utf8CompareStr and Utf8CompareText so that its results will be more consistent with AnsiCompareStr/WideCompareStr and AnsiCompareTex/WideCompareText. ( The old implementation was in effect a copy of CompareStr and, this made the claim about proper collation in Utf8CompareText (which uses Utf8CompareStr) rather ludicrous. The new implementaion is slower, mainly becaus of the fact we cannot use CompareMemrange/CompareByte anymore, and we have to iterate the bytes ourselves. This fact alone contributes much more to the loss in speed than the fact we use WideCompareStr on the 2 differing codepoints: - iterating in a for loop: adss a factor of appr. 10 to the time needed - using the final WideCompareStr adds a factor of about 1.6 to the time meeded. Because of the slowdown in speed in Utf8CompareStr, Utf8CompareText now calls WideCompareText directly, which is now appr. the same speed as converting to lowercase and then calling Utf8CompareStr ) ........ LazUtf8: In UTF8CompareStrCollated only call AnsiCompareStr if ACP_RTL is defined, since in all other cases AnsiCompareStr = widestringmanager.CompareStrAnsiStringProc = UTF8CompareStr. If ACP_RTL is not defined call Utf8CompareStr, since this is now does proper collation and is faster than converting to WideString. ........ LazFileUtils: fix uninitialized result in ChompPathDelim. Issue #0029866. ........ git-svn-id: branches/fixes_1_6@52012 - |
||
---|---|---|
components | ||
converter | ||
debian | ||
debugger | ||
designer | ||
doceditor | ||
docs | ||
examples | ||
ide | ||
images | ||
install | ||
languages | ||
lazarus.app/Contents | ||
lcl | ||
packager | ||
startlazarus.app/Contents | ||
test | ||
tools | ||
.gitattributes | ||
.gitignore | ||
COPYING.GPL.txt | ||
COPYING.LGPL.txt | ||
COPYING.modifiedLGPL.txt | ||
COPYING.txt | ||
fpmake_add.inc | ||
fpmake_proc.inc | ||
fpmake.pp | ||
localize.bat | ||
localize.sh | ||
Makefile | ||
Makefile.fpc | ||
README.txt |
Welcome to Lazarus ================== Lazarus is a Rapid Application Development Tool for Free Pascal. It comes with the LCL - Lazarus component library, which contains platform independent visual components like buttons, windows, checkbox, treeview and many, many more. The LCL is platform independent, so you can write an application once and then compile for various platforms without changing code. Free Pascal at www.freepascal.org is a fast Object Pascal compiler (and more), that runs on more than 20 platforms (Linux, Windows, BSD, OS/2, DOS, PowerPC, and many more). The LCL currently supports Linux (gtk2 and qt4), all flavors of Windows (even wince), Mac OS X (carbon, gtk2, qt4), FreeBSD (gtk2). There is experimental support for: * gtk3 * Solaris The LCL still contains code for gtk1 although that is obsolete. -------------------------------------------------------------------------------- Compilation: You don't need ./configure, just do []$ make clean bigide (BSD users: gmake clean bigide) This will create the Lazarus executable with a lot of packages. Start it and enjoy. If the above gives an error, you can try to build a minimal IDE with []$ make clean all (BSD users: gmake clean all) -------------------------------------------------------------------------------- Installation and Requirements: See the file docs/INSTALL. -------------------------------------------------------------------------------- Usage: Start the IDE with: []$ cd your/lazarus/directory []$ ./lazarus -------------------------------------------------------------------------------- Documentation: The official site is www.lazarus.freepascal.org. There you can find the FAQ - the frequently asked questions. Documents about specific topics can be found at wiki.freepascal.org/Lazarus_Documentation. Examples on how to use the LCL can be found in the 'examples' directory. Help, documents and files about Free Pascal are at www.freepascal.org. -------------------------------------------------------------------------------- Mailing list: There is a very active and helpful mailing list for Lazarus, where the developers interact, share ideas, discuss problems, and of course answer questions. You can subscribe at http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -------------------------------------------------------------------------------- How to help Lazarus: If you find bugs, don't hesitate to use the bug tracking tool at the website, or send an email to the list. Patches can be sent as .zip or .tgz attachments directly to the mailing list if small, or (preferably) to the bug tracker at http://bugs.freepascal.org/my_view_page.php or send the patch to patch@dommelstein.net.