Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Как сохранить нужную строку - ссылку
Goto page Previous  1, 2, 3
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Aug 05, 2012 14:27    Post subject: Reply with quote

Я просто не могу понять, откуда взялась цифра 4? ПОчему не 1?

И что мы должны отбирать, уникальные номера или уникальные ссылки (строки)? Советую с этим конкретно определиться.
Back to top
View user's profile Send private message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Sun Aug 05, 2012 14:34    Post subject: Reply with quote

по первому 4 потому, что я использую на форме только четыре окна для вывода картинок поэтому если 2 или 3 это гуд а вот более 4 лишнее

второй вопрос
отбирать надо уникальные ссылки -строки! просто чтоб в строке не искать все сходства, достаточно найти схожий уникальный номер
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Aug 05, 2012 14:36    Post subject: Reply with quote

Ещё раз:
Flasher wrote:
ПОчему не 1?

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

2) Это точно не проще, чем сравнивать по всей строке. Smile
Back to top
View user's profile Send private message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Sun Aug 05, 2012 14:44    Post subject: Reply with quote

ПОчему не 1? не понял вопроса, но если найти первое совпадение и вырезать а потом сохранить в другом документе и так четыре раза -тогда устраивает!
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Aug 05, 2012 14:52    Post subject: Reply with quote

astrolit
Я предлагаю методику реализации тут не обсуждать, с этим я сам разберусь. Вырезать там ничего не надо. Для этого коллекция с фильтром создаётся.
Что значит "и так 4 раза"? Может, совпадений больше, чем 4.
Если останется одна (не 2, не 3, не 4) уникальная ссылка, это подходит? Я правильно понял?
Back to top
View user's profile Send private message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Sun Aug 05, 2012 16:00    Post subject: Reply with quote

да, совершено верно, но не хотелось бы потерять другие, если более одной сылки, если найдено пятое и более повторений тогда пятый и более совпадения нужно удалить!
и вот ещё уточнение, уникальные номера имеют размах от
(00000-88869) с шагом 1
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Aug 05, 2012 16:04    Post subject: Reply with quote

astrolit wrote:
но не хотелось бы потерять другие, если более одной сылки
В каком смысле потерять? Мы же строку целиком проверяем. Зачем иметь более одной аналогичной строки?
Под уникальностью всегда понимался один единственный экземпляр, иначе это уже никакая не уникальность.

И ещё важный момент:
Quote:
photos/83/999/87947/821709_740x550.jpg
photos/83/999/87947/821708_740x550.jpg

photos/83/15/88868/829347_740x550.jpg
photos/83/15/88868/829346_740x550.jpg
photos/83/15/88868/829345_740x550.jpg
photos/83/15/88868/829344_740x550.jpg
photos/83/15/88868/829343_740x550.jpg
Эти строки очевидно - разные.
Нужно как-то конкретней описывать условие..
Back to top
View user's profile Send private message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Sun Aug 05, 2012 16:22    Post subject: Reply with quote

я же приводил пример,
Code:

photos/83/15/88868/829347_740x550.jpg
photos/83/15/88868/829346_740x550.jpg
photos/83/15/88868/829345_740x550.jpg
photos/83/15/88868/829344_740x550.jpg
photos/83/15/88868/829343_740x550.jpg
              ^
              |
      идентификационный номер

на каждый идентификационный номер приходится от 2 до 150 ссылок на фотографии. мне же надо не более 4 фото, скажем номер это номер гостиницы и на конкретную гостиницу нужно не более 4 ссылок сохранить

Добавлено спустя 3 минуты:

Flasher wrote:


И ещё важный момент:
Quote:
photos/83/999/87947/821709_740x550.jpg
photos/83/999/87947/821708_740x550.jpg

photos/83/15/88868/829347_740x550.jpg
photos/83/15/88868/829346_740x550.jpg
photos/83/15/88868/829345_740x550.jpg
photos/83/15/88868/829344_740x550.jpg
photos/83/15/88868/829343_740x550.jpg
Эти строки очевидно - разные.

разные но имеют один уникальный номер 88868 и с его упоминанием нужно оставить не более 4 строк, и так перебрать все строки для номеров именно в этой колонке от 00000 до 88868


Last edited by astrolit on Sun Aug 05, 2012 16:31; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Aug 05, 2012 16:30    Post subject: Reply with quote

astrolit wrote:
я же приводил пример
А я спросил
Flasher wrote:
И что мы должны отбирать, уникальные номера или уникальные ссылки (строки)? Советую с этим конкретно определиться.
на что последовал ответ
astrolit wrote:
отбирать надо уникальные ссылки -строки!
Так что я тут умываю руки..

В общем, править результирующий файл я не буду, это задача к ТС не относится. А исходную задачу топика с учётом отбора до 4-х строк по идентификатору реализую чуть позже.
Back to top
View user's profile Send private message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Sun Aug 05, 2012 16:33    Post subject: Reply with quote

ок спасибо, я в свою очередь попробую vb.net
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Aug 05, 2012 16:41    Post subject: Reply with quote

astrolit
Гм.. Я пытался разобраться с исходной задачей по html-файлам, но сейчас вижу, что там нужно выполнить ещё какие-то условия. Боюсь ошибиться в раскопках. Можно тут попунктно расписать всю задачу с выделением цветом отсекаемых строк и соотв. расположением идентификатора, чтобы я понимал, что оставлять, где искать и т.д.?

astrolit wrote:
в свою очередь попробую vb.net
vb.net куда функциональней vbs. Если есть успехи в этой области, так, может, и мне не стоит напрягаться? Wink
Back to top
View user's profile Send private message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Mon Aug 06, 2012 22:18    Post subject: Reply with quote

Code:

photos/83/999/87947/821713_740x550.jpg
photos/83/999/87947/821712_740x550.jpg
photos/83/999/87947/821711_740x550.jpg
photos/83/999/87947/821710_740x550.jpg
photos/83/999/87947/821709_740x550.jpg
photos/83/999/87947/821708_740x550.jpg
photos/83/15/88868/829347_740x550.jpg
photos/83/15/88868/829346_740x550.jpg
photos/83/15/88868/829345_740x550.jpg
photos/83/15/88868/829344_740x550.jpg

а хотелось бы так
Code:

* photos/83/999/87947/821713_740x550.jpg
* photos/83/999/87947/821712_740x550.jpg
* photos/83/999/87947/821711_740x550.jpg
* photos/83/999/87947/821710_740x550.jpg
photos/83/999/87947/821709_740x550.jpg
photos/83/999/87947/821708_740x550.jpg
* photos/83/15/88868/829347_740x550.jpg
* photos/83/15/88868/829346_740x550.jpg
* photos/83/15/88868/829345_740x550.jpg
* photos/83/15/88868/829344_740x550.jpg
в даном случае звезда маркер, в последствии строки без маркера надо удалить.
да и ещё как правило похожие идут последовательно может как то метить строки вроде первые четыре пометили и переходим к следующей не похожей строке сразу метим её и три последующих и повторяем до конца документа
Back to top
View user's profile Send private message
astrolit



Joined: 26 Jul 2012
Posts: 42

Post (Separately) Posted: Tue Aug 07, 2012 03:24    Post subject: Reply with quote

ну как говорится сказал сделал,
сработало как нельзя лучше, я так накрутил, что сначала вышел говн Embarassed код ! Но постепенно всё стало так как было нужно

Code:

    Imports System.IO
    Imports System.Text
    Imports System.Text.RegularExpressions

    Public Class Form1
       

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
         
            Dim dict As New Dictionary(Of String, Integer)
            Dim cnt As Integer
            Dim s As String
            Dim o As New System.IO.StreamReader("C:\download\silkfoto.txt")
            Dim key As String
            s = o.ReadLine() 'первое значение для кей
            For i As Integer = 0 To 50 'тут пробегаемся только по первым 50 строчкам
    5:          s = o.ReadLine()' здесь подбрасываем новое значение для кей
                key = Regex.Match(s, "(photos/\d+/\d+/\d+/)", RegexOptions.IgnoreCase).Value
                For k As Integer = 1 To 4
                    'Для каждой строки, key - та часть, по которой нужно сравнивать строки:
                    If dict.ContainsKey(key) Then cnt = dict.Item(key) + 1 Else cnt = 1
                    dict.Item(key) = cnt

                    If cnt < 5 Then 'тут выдает нужные четыре значения
                  text = o.ReadLine()'маркируем строку
                    'a.WriteLine(text)
                    End If
                Next
            Next
            o.Close()
a.Dispose() : a.Close()
        End Sub
    End Class


да, на форму бросаем кнопку
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3
Page 3 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group