Переключение на Главную Страницу Страницы: [1] 2 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс Парсинг (для строкового парсинга) (число прочтений - 24364 )
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Класс Парсинг (для строкового парсинга)
22. Января 2007 :: 12:17
Печать  
Текст класса:
Код
Выбрать все
Перем БезРегистра Экспорт;
Перем Дебаг Экспорт;

//===========================================================================
//===========================================================================
//===========================================================================
Процедура _Сообщить(Стр)
Если Дебаг=1 Тогда
Сообщить(""+Стр);
КонецЕсли;
КонецПроцедуры

//===========================================================================
Функция ЕдиничноОтпарсить(ЧтоПарсить,ЧемПарсить) Экспорт
СЗ=СоздатьОбъект("СписокЗначений");
	Времен=ЧтоПарсить;
     Для А=1 по СтрЧислоВхождений(ЧтоПарсить,ЧемПарсить) Цикл
	    Позиция=Найти(Времен,ЧемПарсить);
	    Парсеное=Сред(Времен,1,Позиция-1);
		Времен=Сред(Времен,Позиция+1,СтрДлина(Времен));
	     СЗ.ДобавитьЗначение(Парсеное);
	 КонецЦикла;
	Если Времен<>"" Тогда
	     СЗ.ДобавитьЗначение(Времен);
	КонецЕсли;
Возврат СЗ;
КонецФункции
//===========================================================================
//===========================================================================
//===========================================================================

Функция Отпарсить(ЧтоПарсить,ШаблонПарсинга) Экспорт
	Глубина=0;
	СЗ=СоздатьОбъект("СписокЗначений");
	    СЗШаблонаПарсинга=ЕдиничноОтпарсить(ШаблонПарсинга,"%");
     _Сообщить("Шаблонов = "+СЗШаблонаПарсинга.РазмерСписка());
	СтрокаПарсинга=ЧтоПарсить;
	СчетчикШаблона=1;
	Пока СтрДлина(СтрокаПарсинга)>0 Цикл
     _Сообщить("СтрокаПарсинга["+СтрокаПарсинга+"]");
	 	    Разделитель=СЗШаблонаПарсинга.ПолучитьЗначение(СчетчикШаблона);
     _Сообщить("Разделитель ["+Разделитель+"]"+" "+СчетчикШаблона);
		  Если БезРегистра=1 Тогда
		    Позиция=Найти(Врег(СтрокаПарсинга),Врег(Разделитель));
		Иначе
		    Позиция=Найти(СтрокаПарсинга,Разделитель);
		  КонецЕсли;
		Если Позиция=0 Тогда
		Прервать;
		КонецЕсли;
 	    Парсеное=Сред(СтрокаПарсинга,1,Позиция-1);
		Парсинга));
		СЗ.ДобавитьЗначение(СокрЛп(Парсеное));
 	    Если СчетчикШаблона>=СЗШаблонаПарсинга.РазмерСписка() Тогда
		СчетчикШаблона=1;
		Глубина=1;
	    Иначе
		СчетчикШаблона=СчетчикШаблона+1;
	    КонецЕсли;
 	КонецЦикла;
	СЗ.ДобавитьЗначение(СокрЛп(СтрокаПарсинга));
 	Возврат СЗ;
КонецФункции

//===========================================================================
//===========================================================================
//===========================================================================

//===========================================================================
Функция ЕдиничноОтпарситьИзСтроки(ЧтоПарсить,ЧемПарсить) Экспорт
СЗ=СоздатьОбъект("СписокЗначений");
	Времен=СокрЛП(ЧтоПарсить);
	  СкобкаОткрыта=0;
	  Строчка="";
	Для Счетчик=1 По СтрДлина(Времен) Цикл
		  Символ=Сред(Времен,Счетчик,1);
		  Если Символ=Симв(34) Тогда
			  СкобкаОткрыта=1-СкобкаОткрыта;
		  КонецЕсли;
		  Если Символ=ЧемПарсить Тогда
			  Если СкобкаОткрыта=0 Тогда
				  СЗ.ДобавитьЗначение(Строчка);
				  Строчка="";
				  Продолжить;
			  КонецЕсли;
		  КонецЕсли;
		  Строчка=Строчка+Символ;
	  КонецЦикла;
Возврат СЗ;
КонецФункции

 



Примером может являться использования кода в классе Версии. (хотя и не полным) Подмигивание
« Последняя редакция: 22. Января 2007 :: 17:03 - Kostya »  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #1 - 22. Января 2007 :: 12:37
Печать  
Kostya писал(а) 22. Января 2007 :: 12:17:
Примером может являться использования кода в классе Версии. (хотя и не полным) Подмигивание

Костя, как ты думаешь, сколько пользователей будет у твоих классов?
Меня интересует целевая аудитория и примерный ее состав.

Ладно, молчу.
Может быть я чего-то не знаю и легендарные люди теперь попрут на форум со страшной силой?  Смех
  

De quelle planète es-tu?
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #2 - 22. Января 2007 :: 12:47
Печать  
Я пользуюсь аналогичными методами в моем классе Общие.СтроковыеУтилиты, который выложен в конфе классов.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #3 - 22. Января 2007 :: 12:56
Печать  
По классу-парсеру доки явно недостаточно.
Назначение не всех функций понятны из их названия Печаль
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #4 - 22. Января 2007 :: 16:21
Печать  
kms писал(а) 22. Января 2007 :: 12:37:
Kostya писал(а) 22. Января 2007 :: 12:17:
Примером может являться использования кода в классе Версии. (хотя и не полным) Подмигивание

Костя, как ты думаешь, сколько пользователей будет у твоих классов?
Меня интересует целевая аудитория и примерный ее состав.

Ладно, молчу.
Может быть я чего-то не знаю и легендарные люди теперь попрут на форум со страшной силой?  Смех


Класс Парсинг это зависимость от Класса Версии. Ты считаешь что нам не нужен этот класс ?
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #5 - 22. Января 2007 :: 16:31
Печать  
kms писал(а) 22. Января 2007 :: 12:37:
Может быть я чего-то не знаю и легендарные люди теперь попрут на форум со страшной силой?  Смех

Просто нам интересно, где ты пропадал столько времени.
Вроде на ниве 1С тебя видно не было, по крайней мере, в публичных форумах Улыбка
Или мы чего-то не знаем/не помним/не видим ? Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #6 - 22. Января 2007 :: 16:43
Печать  
artbear писал(а) 22. Января 2007 :: 16:31:
kms писал(а) 22. Января 2007 :: 12:37:
Может быть я чего-то не знаю и легендарные люди теперь попрут на форум со страшной силой?  Смех

Просто нам интересно, где ты пропадал столько времени.
Вроде на ниве 1С тебя видно не было, по крайней мере, в публичных форумах Улыбка
Или мы чего-то не знаем/не помним/не видим ? Улыбка


а кому это _нам_ ? Улыбка

публичная деятельность это крайне грустное и неинтересное занятие.
с людьми то я периодически по аське/почте общаюсь.
мой интерес к репозиторию обусловлен тем, что есть у меня идея
технологические моменты своей деятельности перенсти на gpl.
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #7 - 22. Января 2007 :: 17:38
Печать  
Kostya писал(а) 22. Января 2007 :: 16:21:
Класс Парсинг это зависимость от Класса Версии. Ты считаешь что нам не нужен этот класс ?

- Вы полагаете, все это будет носиться?
- Я полагаю, что все это следует шить.

Улыбка

Ты не понял.
Я пытаюсь донести мысль (не только сейчас, а с момента возникновения идеи созданиия репозитория),
что сам репозиторий никому, кроме группы энтузиастов, не нужен.
Без рекламы, продвижения, без постоянной поддержки автора и т.д.

Т.е. мало вбросить пару классов,  высказать пару идей, возможно гениальных.
Нужно их поддерживать и популяризировать, а это как ты заметил

Kostya писал(а) 22. Января 2007 :: 16:43:
публичная деятельность это крайне грустное и неинтересное занятие.

Но без этого, никому это не нужно.
Либо популяризируешь ты сам, либо твои последователи, либо проект обречен.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #8 - 22. Января 2007 :: 17:45
Печать  
Kostya писал(а) 22. Января 2007 :: 16:43:
технологические моменты своей деятельности перенсти на gpl.

Кстати, мне-то, как самостоятельной боевой единице, твоя идея весьма интересна.
Но тебе не кажется, что это тема отдельного проекта, не связанного с проектом Артура?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #9 - 22. Января 2007 :: 17:47
Печать  
kms писал(а) 22. Января 2007 :: 17:38:
Kostya писал(а) 22. Января 2007 :: 16:21:
Класс Парсинг это зависимость от Класса Версии. Ты считаешь что нам не нужен этот класс ?

- Вы полагаете, все это будет носиться?
- Я полагаю, что все это следует шить.

Улыбка

Ты не понял.
Я пытаюсь донести мысль (не только сейчас, а с момента возникновения идеи репозитория), что сам репозиторий никому, кроме группы избранных, не нужен.
Без рекламы, продвижения, без постоянной поддержки автора и т.д.

Т.е. мало вбросить пару классов,  высказать пару идей, возможно гениальных.
Нужно их поддерживать и популяризировать, а это как ты заметил

Kostya писал(а) 22. Января 2007 :: 16:43:
публичная деятельность это крайне грустное и неинтересное занятие.

Но без этого, никому это не нужно.
Либо популяризируешь ты сам, либо твои последователи, либо проект обречен.


Честно говоря мне пофиг что широкие массы вдруг не будут юзать мой код, мне главное
чтобы было побольше девелоперов. Тогда я банально не буду парить себе голову, где же мне в моем провинциальном городе найти высококлассных программистов. Со своей стороны я готов сам вкладывать в репозиторий свои классы (на данный момент более 80) и тем самым уменьшать свои и чужие временные затраты, затраты денег на производственную составляющую. Перенести оные затраты на маркетинг и продажу. Чтобы ни у кого не возникало вопросов по авторству и правами лицензию выбрать как gpl. Идея эта у меня довольно давно. И тем или иным способом я пытаюсь ее нарисовать в жизнь.
А мысли типо "как круто что мне в аську стучится в день сотня человеков" у меня прошли исчо в 2000 году, когда оные человеки меня банально заипали.
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #10 - 22. Января 2007 :: 18:07
Печать  
kms писал(а) 22. Января 2007 :: 17:45:
Kostya писал(а) 22. Января 2007 :: 16:43:
технологические моменты своей деятельности перенсти на gpl.

Кстати, мне-то, как самостоятельной боевой единице, твоя идея весьма интересна.


Вот.  А это уже ближе к жизни.

Цитата:
Но тебе не кажется, что это тема отдельного проекта, не связанного с проектом Артура?


Честно говоря мне пока кажется что не надо ничего выбрасывать или от
чего то отказываться. Не тот объем.
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #11 - 22. Января 2007 :: 18:31
Печать  
Kostya писал(а) 22. Января 2007 :: 17:47:
Честно говоря мне пофиг что широкие массы вдруг не будут юзать мой код, мне главное
чтобы было побольше девелоперов.

А ты думаешь, я про большой ТЕНИС говорил?
Про девелоперов, Костя, про девелоперов.

Джоэл Спольски в какой-то своей статье рассказывал, как Стив Балмер на какой-то презентации DevStudio прыгал по сцене с криками "разработчики!! нам нужны разработчики!!".
Ибо здесь очень много взаимосвязей между поддержкой сообщества разработчиков и продвижением основных продуктов.

Kostya писал(а) 22. Января 2007 :: 18:07:
Честно говоря мне пока кажется что не надо ничего выбрасывать или от
чего то отказываться. Не тот объем.

Нет, я вовсе не предлагаю отказываться, наоборот.
Просто по-моему вы с Артуром разошлись уже на этапе начальной идеологии проекта.

80 классов, да еще поди серьезных, качественных и взаимосвязанных - это по-моему достойно отдельного самостоятельного проекта.
Может, я что-то упустил, но смысла толкаться локтями с Артуром в одном проекте я пока не улавливаю.

Kostya писал(а) 22. Января 2007 :: 17:47:
А мысли типо "как круто что мне в аську стучится в день сотня человеков" у меня прошли исчо в 2000 году, когда оные человеки меня банально заипали.

Пиши еще, щас ностальгия пробьет. Очень довольный
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #12 - 22. Января 2007 :: 18:50
Печать  
что то быстро последнее время меня посещает безнадега. видно скоро на переплавку. Печаль
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #13 - 22. Января 2007 :: 19:04
Печать  
Сейчас прочитал - и подумал: наверное все равно недостаточно явно высказался.
Ну, давай еще добавим, что ли. Наливаю?

У меня 2 сомнения (да, я позволяю себе быть скептиком) по поводу этого репозитория:

1. С ростом числа несвязанных классов качественное модерирование превратится в аццкий труд
2. Репозитарий без рекламы будет никому не нужен. При этом я как раз думаю, что соотношение затрат как раз 80/20, причем 20 - это создание классов, а 80 - реклама и продвижение.

Поэтому я тихо-тихо и задаю вопросы о целевой аудитории, и о целях этого репозитория вообще.
От тебя от первого я услышал ответ, но сомнений в том, что эта цель будет достигнута он не развеял.

Я даже могу проиллюстрировать.
В конце 2005 - в начале 2006 года Алексей Диркс добавил в 1cpp потрясающий объект - ИндексированнаяТаблица.
Я себя отношу к первым и последовательным адептам и популяризаторам этой бесценной штуки.
Да, это была моя мечта со времен 7.0.

Здесь есть несколько людей, которые могут ответить на любой вопрос по ИТ.
И я не помню ни одного вопроса, который бы остался без ответа.

Но несмотря на это, я знаю, что лучшие люди, самые-самые продвинутые и активные участники форума этот объект не используют.
Понимаешь?
Несмотря на полную документацию, тесты, примеры, последовательную поддержку они его НЕ ИСПОЛЬЗУЮТ.

Я вижу одну причину - отсуствие планомерной популяризации.
Как ты думаешь, где бы была идея XP, если бы не личная энергия Кента Бека?
Да там же, где и прочие концепции lightweight разработки - в узких кругах.

Да что там далеко ходить - тот же 1С.
Сама "система программ" г-но, прямо скажем.
Гениально лишь одно - это система продвижения и популяризации.
Организовать кучу дармоедов в сообщество, повесить каждому беджик "я не халявщик, я партнер" и заставить мод музыку раздувать щеки - вот в этом реально гениальность братьев пилотов.

Такие дела.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #14 - 22. Января 2007 :: 19:07
Печать  
Kostya писал(а) 22. Января 2007 :: 18:50:
что то быстро последнее время меня посещает безнадега. видно скоро на переплавку. Печаль

Не сдавайся.
Видишь ли, сознание, успешно миновавшее сито пессимизма, обречено на успех.
Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 
ОтправитьПечать