Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.03.2008, 05:48
diablist diablist вне форума
Прохожий
 
Регистрация: 15.03.2008
Сообщения: 11
Репутация: 10
Восклицание Помогите с переводом C# на Delphi

Помогите пожайлуста перевести эту функцию на Делфи:
Код:
    public class YouTubeDownloader: BaseVideoDownloader
    {
        public const string SiteName = "You Tube";

        //http://www.youtube.com/watch?v=5zOevLN3Tic
        public const string UrlPattern = @"(?:[Yy][Oo][Uu][Tt][Uu][Bb][Ee]\.[Cc][Oo][Mm]/watch\?v=)(\w[\w|-]*)";

        protected override ResourceLocation ResolveVideoURL(string url, string pageData, 
            out string videoTitle)
        {
            videoTitle = TextUtil.JustAfter(pageData, "<meta name=\"title\" content=\"", "\">"); 

            return ResourceLocation.FromURL(String.Format("{0}/get_video?video_id={1}&t={2}", TextUtil.GetDomain(url),
                TextUtil.JustAfter(url, "v=", "&"), TextUtil.JustAfter(pageData, "&t=", "&hl=")));
        }
    }
}

и еще этих парочку, если не тяжело

Код:
internal static class TextUtil
    {
        internal static string JustBefore(string Str, string Seq)
        {
            string Orgi = Str;
            try
            {
                Str = Str.ToLower();
                Seq = Seq.ToLower();

                return Orgi.Substring(0, Str.Length - (Str.Length - Str.IndexOf(Seq)));
            }
            catch (Exception)
            {
                return "";
            }
        }

        internal static string GetDomain(String URL)
        {
            return URL.Substring(0, URL.LastIndexOf("/"));
        }

        internal static string GetFilename(String URL)
        {
            string Filename = URL.Substring(URL.LastIndexOf("/") + 2, URL.Length - URL.LastIndexOf("/") - 2);

            if (Filename.IndexOf("&") != -1)
                Filename = JustBefore(Filename, "&");

            return Filename;
        }

        internal static string JustAfter(string Str, string Seq, string SeqEnd)
        {
            string Orgi = Str;
            try
            {
                Str = Str.ToLower();
                Seq = Seq.ToLower();

                int i = Str.IndexOf(Seq);

                if (i < 0)
                    return null;

                i = i + Seq.Length;

                int j = Str.IndexOf(SeqEnd, i);
                int end;

                if (j > 0) end = j - i;
                else end = Str.Length - i;

                return Orgi.Substring(i, end);
            }
            catch (Exception)
            {
                return "";
            }
        }

        internal static string JustAfter(string Str, string Seq)
        {
            string Orgi = Str;
            try
            {
                Str = Str.ToLower();
                Seq = Seq.ToLower();

                int i = Str.IndexOf(Seq);

                if (i < 0)
                    return null;

                i = i + Seq.Length;

                return Orgi.Substring(i, Str.Length - i);
            }
            catch (Exception)
            {
                return "";
            }
        }
    }
Ответить с цитированием
  #2  
Старый 16.03.2008, 12:27
Smiler Smiler вне форума
Прохожий
 
Регистрация: 16.03.2008
Сообщения: 2
Репутация: 10
По умолчанию

Проще компилировать в сборку и использовать по назначению
Ответить с цитированием
  #3  
Старый 16.03.2008, 16:31
diablist diablist вне форума
Прохожий
 
Регистрация: 15.03.2008
Сообщения: 11
Репутация: 10
По умолчанию

Просто хотелось бы разобратся как это работает, а именно что воз это выражение значит к примеру:
public const string UrlPattern = @"(?:[Yy][Oo][Uu][Tt][Uu][Bb][Ee]\.[Cc][Oo][Mm]/watch\?v=)(\w[\w|-]*)";
Ответить с цитированием
  #4  
Старый 17.03.2008, 11:53
Аватар для mav_c
mav_c mav_c вне форума
Активный
 
Регистрация: 26.03.2007
Адрес: Москва
Сообщения: 287
Репутация: 30
По умолчанию

Цитата:
Сообщение от diablist
Просто хотелось бы разобратся как это работает, а именно что воз это выражение значит к примеру:
public const string UrlPattern = @"(?:[Yy][Oo][Uu][Tt][Uu][Bb][Ee]\.[Cc][Oo][Mm]/watch\?v=)(\w[\w|-]*)";

Это регулярное выражение.
__________________
---------------------------------------------
Программирование - не профессия, а стиль жизни
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:42.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter