[ C# / Java ] — начинающим: задаем вопросы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by procedure, 2 Nov 2008.

  1. procedure

    procedure Elder - Старейшина

    Joined:
    22 Dec 2007
    Messages:
    527
    Likes Received:
    257
    Reputations:
    46
    Это называется использование регулярных выражений и цикла for.
    +там какие то еще интерфейсы были.
     
  2. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    for там не нужен.
     
  3. procedure

    procedure Elder - Старейшина

    Joined:
    22 Dec 2007
    Messages:
    527
    Likes Received:
    257
    Reputations:
    46
    Ну можешь и без for сделать, но с for будет удобней.
     
  4. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    LINQ к примеру можно использовать... (3.5 Framework)
    либо регулярное выражение типа:
    ^(.*)(\r?\n\1)+$

    в $1 будет находится 1 экземпляр совпадения. Т.е. у тебя 5 слов - "Yo", в $1 будет "Yo". при этом 4-ре других отбросятся
     
  5. procedure

    procedure Elder - Старейшина

    Joined:
    22 Dec 2007
    Messages:
    527
    Likes Received:
    257
    Reputations:
    46
    Каким образом ты будешь вести счет повторений?
     
  6. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Вот это мне тоже интерестно)
     
  7. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    .Matches().Count
     
  8. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    W!z@rD,спасибо за помощ обязательно попробую)
    З.Ы.
    вот мой код,помогите найти где чего не хватает.
    Code:
                            for (int k = 0; k < hex_colors.Count; k++ )//Начинаем проходить основной цикл...
                            {
                                bool status = false;
                                int cnt = 0;
                                for (int m = 0; m > list.Count; m++ )//далее проверяем,если из hex_colors ничего ли не совпало из list...
                                {
                                    if (Convert.ToString(list[m]) == Convert.ToString(hex_colors[k]))//если совпало то делаем continue;,если нет то ничего не делаем...
                                    {
                                        status = true;
                                        break;
                                    }
                                }
                                if (status)
                                {
                                    continue;
                                }
                                for (int l = k; l < hex_colors.Count; l++ )//в этом цикле начинаем подсчитывать совпадения
                                {
                                    if (Convert.ToString(hex_colors[l]) == Convert.ToString(hex_colors[k]))
                                    {
                                        cnt++;
                                    }
                                    else//как только совпадения закончились записываем в list цвет и его количество ,далее делаем break; и начинаем основной цикл заного
                                    {
                                        list.Add(Convert.ToString(hex_colors[l-1]));
                                        list.Add(cnt);
                                        break;
                                    }
                                }
                            }
                            for (int n = 0; n < list.Count; n++ )//пишем содержимое массива list в файл
                            {
                                tmpp += Convert.ToString(list[n]) + "\n";
                            }
                            TextWriter data = new StreamWriter("data.txt");
                            data.WriteLine(tmpp);
                            data.Close();
    
    где hex_colors это отсортированный ArrayList с хтмл цветами внутри.
    где list это пустой ArrayList в который буду позже добавлять повторяющиеся цвета.
    И вот кодга я открываю файл посмотреть на его содержимое я вижу следующее...
    Code:
    #C02020
    9
    #C02020
    8
    #C02020
    7
    #C02020
    6
    #C02020
    5
    #C02020
    4
    #C02020
    3
    #C02020
    2
    #C02020
    1
    #C02040
    133
    #C02040
    132
    #C02040
    131
    #C02040
    130
    #C02040
    129
    #C02040
    
    Да,отчасти это то что нужно но когда я получил цвет
    #C02020 и его кол 9(это все верно) поидее сразу должен идти след цвет(#C02040 с количеством 133),а у меня почемуто его кол с каждым разом уменьшается на 1,вообщем помогите найти где косяк.
    Заранее большое спасибо!)
     
    #48 rudvil, 20 Dec 2008
    Last edited: 20 Dec 2008
  9. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    меня это смущает:

     
  10. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    можно поподробнее, что именно? и как надо было-бы сделать.)
     
  11. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Всем огромное спасибо за участие и помощ я смог сам разобраться-вот где надо поправить)
    Code:
    во первых тут
    неправильно- for (int m = 0; m [color=RED]>[/color] list.Count; m++ )
    правильно- for (int m = 0; m [color=RED]<[/color] list.Count; m++ )
    лол на такой фигне подлететь)
    
    и тут ещё
    
    неправильно:
    
        for (int l = [color=RED]k[/color]; l < hex_colors.Count; l++ )
        {
    	if (Convert.ToString(hex_colors[l]) == Convert.ToString(hex_colors[k]))
    	{
    	    cnt++;
    	}
    	else
    	{
    	    list.Add(Convert.ToString(hex_colors[l-1]));
    	    list.Add([color=RED]cnt[/color]);
    	    break;
    	}
        }
    
    правильно:
    
        for (int l = [color=RED]k+1[/color]; l < hex_colors.Count; l++ )
        {
    	if (Convert.ToString(hex_colors[l]) == Convert.ToString(hex_colors[k]))
    	{
    	    cnt++;
    	}
    	else
    	{
    	    list.Add(Convert.ToString(hex_colors[l-1]));
    	    list.Add([color=RED]cnt+1[/color]);
    	    break;
    	}
        }
    
    
     
    1 person likes this.
  12. horlyk

    horlyk Elder - Старейшина

    Joined:
    2 Dec 2007
    Messages:
    132
    Likes Received:
    6
    Reputations:
    0
    Народ, подскажите плз литературу по шарпу(2008студио) для создания собственных форм, т.е. чтоб я знал как нарисовать свое окно программы, свой компонент и т.д.

    Заранее спасибо.
     
  13. masbear

    masbear Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    81
    Likes Received:
    7
    Reputations:
    1
    horlyk,

    C#. Разработка компонентов в MS Visual Studio 2005/2008
    http://www.ozon.ru/context/detail/id/3963390/
     
  14. procedure

    procedure Elder - Старейшина

    Joined:
    22 Dec 2007
    Messages:
    527
    Likes Received:
    257
    Reputations:
    46
    Но ты же все равно пля, будешь юзать while!!!


    horlyk -> WPF, Microsoft Expression Blend, а вообще прежде чем что то делать, нужно выработать требования и составить архитектуру.
     
    #54 procedure, 15 Jan 2009
    Last edited: 15 Jan 2009
  15. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Да,знаю я не первый кто задает этот вопрос,просто нигде так и не смог найти корректного решения этой проблемы...
    Вот код и вопрос:
    Code:
    string filename = "test.txt";
    File.CreateText(filename);
    File.Delete(filename);
    
    воть,пишет ошибку-нельзя удалить файл т.к. он используется другим процессом...
    Вариант-перезапустить программу и затем без проблем удалить... но мне это не подходит.
    Догадываюсь как-то можно намутить с FileStream или с чем то похожим, т.к. у него есть функция file.Close();.
    Вот собственно и вопрос как все это устроить?
    Заранее спасибо,с меня +.

    Всё оказалось гораздо проще чем я думал,воть может комунить тоже интерестно будет как избавиться от этой проблемы
    Code:
    string filename = "test.txt";
    FileStream fl = File.Create(filename);
    fl.Close();
    File.Delete(filename);
    
     
    #55 rudvil, 15 Jan 2009
    Last edited: 16 Jan 2009
  16. masbear

    masbear Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    81
    Likes Received:
    7
    Reputations:
    1
    rudvil, молодец что решил проблему сам ;)
     
  17. tarakannn

    tarakannn New Member

    Joined:
    15 Dec 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    возник новый вопрос:

    с помощью:

    private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
    {
    if (tabControl1.SelectedIndex==1)
    if (e.KeyChar < '0' || e.KeyChar > '9')
    e.KeyChar = '\0';
    }

    можно заблокировать в текстБоксе все кнопки клавы, кроме цифр, как тоже самое сделать в столбце ДатаГридВиева?
     
  18. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Этот код разрешит вводить только цифры
    Code:
            private void textbox_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyValue > 47 && e.KeyValue < 58)
                {
                    
                }
                else
                {
                    e.SuppressKeyPress = true; 
                }
            }
    
     
  19. tarakannn

    tarakannn New Member

    Joined:
    15 Dec 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    [​IMG]
    чего не хватает? что за ошибка?
     
  20. tarakannn

    tarakannn New Member

    Joined:
    15 Dec 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    или обьясните, как по другому удалить все записи из таблица
     
Loading...
Similar Threads - Java начинающим задаем
  1. b3
    Replies:
    4
    Views:
    3,204