Страница 1 из 1
		
			
				Два модуоя, две кодировки SysUtils, FileUtil
				
Добавлено: 
18.08.2015 16:06:12 Sharfik
				Постоянно натыкаюсь на то, что функции требуются из обоих модулей SysUtils, FileUtil. Вариант обрабатывать все в UTF8 не проходит, потому что есть функции которые в SysUtils живут. Типа проверки и вставки слешей в конец пути. Есть какой нибудь еще модуль заменяющий SysUtils или самому лучше переписать его процедуры под UTF8?
			 
			
		
			
				Re: Два модуоя, две кодировки SysUtils, FileUtil
				
Добавлено: 
18.08.2015 16:12:44 Лекс Айрин
				Sharfik в чем проблема? Если в том, что названия функций совпадают, то просто используйте имя модуля в имени функции/переменной.
- Код: Выделить всё
- Position := Types.Point(MainForm.Left, MainForm.Top + MainForm.MainEditor.Top +
 MainForm.MainEditor.Height);
 
			 
			
		
			
				Re: Два модуоя, две кодировки SysUtils, FileUtil
				
Добавлено: 
18.08.2015 16:34:32 Sharfik
				Нет, насчет названия понятно.
Ну во первых, перемешивать все в одну кучу - потом разгребать долго.
Во вторых, большинство функция преобразования путей работают с Length(), Copy().
Если речь идет о одном символе, то возможно и без проблем найти какой то символ. Но функции альтернативные типа UTF8Length() сделаны не спроста же, длина у строк в разной кодировке разная. 
Может заморачиваюсь, но глаза режет и попросту лень потом искать проблему, если ее сам создам из-за кодировок..
			 
			
		
			
				Re: Два модуоя, две кодировки SysUtils, FileUtil
				
Добавлено: 
18.08.2015 17:07:17 Лекс Айрин
				Sharfik, думаю, в большинстве случаев, это лишние заморочки. Тем более, что потихонечку идет миграция осей на UTF8.
			 
			
		
			
				Re: Два модуоя, две кодировки SysUtils, FileUtil
				
Добавлено: 
31.08.2015 23:25:44 vitaly_l
				Sharfik писал(а):Во вторых, большинство функция преобразования путей работают с Length(), Copy().
Если речь идет о одном символе, то возможно и без проблем найти какой то символ. Но функции альтернативные типа UTF8Length() сделаны не спроста же, длина у строк в разной кодировке разная. 
Безусловно длинна разная. Суть в том что, так работает половина Lazarus. Часть нужно обрабатывать с помощью Length(), Copy(), другую с UTF8Length(). Переписывать SysUtils - это пустое, проще использовать SysToUTF8 и обратно, там где это необходимо.
 
			
		
			
				Re: Два модуоя, две кодировки SysUtils, FileUtil
				
Добавлено: 
31.08.2015 23:51:50 hinst
				а зачем искать отдельный символ? символы /?._-*#+ и проч. можно искать и в UTF-8 так как они один байт.
Я считаю, надо делать всё на UTF-8 сразу
Добавлено спустя 2 минуты 17 секунд:
есть модуль lazUtf8 вроде бы. Он поможет
			 
			
		
			
				Re: Два модуоя, две кодировки SysUtils, FileUtil
				
Добавлено: 
31.08.2015 23:55:22 vitaly_l
				hinst писал(а):Я считаю, надо делать всё на UTF-8 сразу
Ну попробуйте это сделать на UTF8 в SynEdit => SelStart и SelEnd...
 
			
		
			
				Re: Два модуоя, две кодировки SysUtils, FileUtil
				
Добавлено: 
31.08.2015 23:56:08 Ism