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

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

  1. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    PHP:

    DataGreedView
    .Rows[IntRowIndex].Cells[IntCellsIndex].Style.BackColor Color.Silver;

    DataGreedView.Rows[IntRowIndex].DefaultCellStyle.BackColor Color.Silver;
     
    1 person likes this.
  2. Irdis

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

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    cupper
    попробуй это http://www.cyberforum.ru/javascript/thread157892.html
    Но тру ребята делают так http://jqueryui.com/demos/dialog/#animated
     
    #622 Irdis, 20 Aug 2010
    Last edited: 20 Aug 2010
    1 person likes this.
  3. zeppe1in

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

    Joined:
    12 Jul 2006
    Messages:
    343
    Likes Received:
    66
    Reputations:
    18
    План такой собираются данные жмутся и уже потом сохраняются на диск в файл.
    Дело в том что данных довольно много, я думаю что километровый стринг не самое лучшее решение. а как сделать? тоесть куда лучше складировать данные в памяти, что бы потом их обработать и сохранить в файл.
     
  4. F&D

    F&D Member

    Joined:
    6 Nov 2008
    Messages:
    341
    Likes Received:
    8
    Reputations:
    5
    Как корректно очистить только содержимое столбца DataGrid? Можно по номеру или может как-то еще.

    Пробовал так:
    Code:
                dataGridView1.Columns[3].HeaderText;
                dataGridView1.DataSource = null;
    не компилится, ошибка выскакивает - В качестве оператора могут использоваться только выражения присваивания, вызова, инкремента, декремента и создания нового объекта.

    Потом пробовал так:
    Code:
                DataView dv = dataGridView1.DataSource as DataView;
                dv.Table.Clear();
    
    прога хоть и компилится, но не работает. :(
     
  5. .ATK

    .ATK Active Member

    Joined:
    20 Feb 2009
    Messages:
    143
    Likes Received:
    111
    Reputations:
    9
    PHP:
    for (int i 0dataGridView1.RowCounti++)
                {
                    
    dataGridView1[1i].Value String.Empty;
                }
     
  6. .ATK

    .ATK Active Member

    Joined:
    20 Feb 2009
    Messages:
    143
    Likes Received:
    111
    Reputations:
    9
    Stream


    К сожалению, я нечего не понял.
     
    #626 .ATK, 23 Aug 2010
    Last edited: 23 Aug 2010
  7. Yetisports

    Yetisports Banned

    Joined:
    11 Jul 2010
    Messages:
    147
    Likes Received:
    12
    Reputations:
    17
    Как остановить background worker? Стандартным методом не хочет останавливать =(. Хочет, чтобы я переопределил метод. Как это сделать правильно?


    P.S SetConsoleDisplayMode на висте при больших разрешениях экрана не отображает.
     
  8. zeppe1in

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

    Joined:
    12 Jul 2006
    Messages:
    343
    Likes Received:
    66
    Reputations:
    18
    WorkerSupportsCancellation = true;
    CancelAsync();
     
  9. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    А он и не должен ничего останавливать, в .DoWork и в .ProgressChanged нужно смотреть запрос на остановку:
    PHP:
           if (backgroundWorker_Object.CancellationPending)
          {
            
    e.Cancel true;
            return;
          }

     
  10. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Помогите оптимизировать:

    Code:
    foreach (string rate in phoneRates)
    {
    MySqlCommand command = new MySqlCommand("SELECT COUNT(*) FROM bdc_phones WHERE status='Продано' AND seller='" +
                                comboBoxSellerFullName.Text + "' AND rate='" + rate + "' AND saleDate='" + currentDate.ToShortDateString() + "'",
                                FormMain.dbConnection);
    int count = Convert.ToInt32(command.ExecuteScalar());
    if (count != 0)
    dataGridViewReportByDays.Rows.Add(comboBoxSellerFullName.Text, currentDate.ToShortDateString(), "Мобильный телефон, тариф " + rate, count.ToString());
    }
    
    P.S. Прога для реальных пацанов. Пацаны опускают лохов на мобилы и учитывают всё в этой программе XD
     
    #630 herfleisch, 24 Aug 2010
    Last edited: 24 Aug 2010
  11. BrainDeaD

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

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    можно попробовать
    Code:
    using(MySqlCommand command = new MySqlCommand("SELECT COUNT(*) FROM bdc_phones WHERE status='Продано' AND seller='" +
                                comboBoxSellerFullName.Text + "' AND rate='" + rate + "' AND saleDate='" + currentDate.ToShortDateString() + "'",
                                FormMain.dbConnection))
    {
          code
    }
    но не уверен, что это внесёт существенные изменения.
     
  12. Irdis

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

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    Реальные пацаны используют Entity Framework
     
  13. Dead4ik

    Dead4ik Member

    Joined:
    23 Jun 2009
    Messages:
    34
    Likes Received:
    25
    Reputations:
    5
    Code:
    /*
     * Created by SharpDevelop.
     * User: Dead4ik
     * Date: 30.08.2010
     * Time: 20:44
     * 
     * To change this template use Tools | Options | Coding | Edit Standard Headers.
     */
    using System;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Windows.Forms;
    using System.IO;
    using System.Text;
    using System.Web;
    
    namespace Moswar
    {
    	/// <summary>
    	/// Description of MainForm.
    	/// </summary>
    	public partial class MainForm : Form
    	{
    
    public	int clan=241;
    public  string HtmlText;
    public  string str2;
    public  int first;
    public  int last;
    public  string nav;
    		public MainForm()
    		{
    			//
    			// The InitializeComponent() call is required for Windows Forms designer support.
    			//
    			InitializeComponent();
    			
    			//
    			// TODO: Add constructor code after the InitializeComponent() call.
    			//
    		}
    		
    		void Label1Click(object sender, EventArgs e)
    		{
    			
    		}
    		
    		void Label3Click(object sender, EventArgs e)
    		{
    			
    		}
    		
    		void Button1Click(object sender, EventArgs e)
    		{
    			GetHTML();
    		}
    		
    		
    		void MainFormLoad(object sender, EventArgs e)
    		{
    		}
    		void GetHTML()
    		{
      Encoding enc = Encoding.GetEncoding("windows-1251");
      for (;clan<258;clan++)
      //foreach (int a in new int[] {1, 2, 3, 4, 257})
      {
    	GoMoswar(clan);
    			System.Threading.Thread.Sleep(1000);
    			GetHTMLText();
    			/*if (HtmlText.Contains("На"))
    			{
    				if (HtmlText.Contains("этот"))
    				    {
    				    	if (HtmlText.Contains("клан"))
    				    	    {*/
    				    	    	if (HtmlText.Contains("можно будет"))
    				    	    	{
    		HtmlText.StartsWith("<p>На этот клан можно будет напасть <b>", System.StringComparison.CurrentCultureIgnoreCase);
    		HtmlText.EndsWith("</b>.</p>", System.StringComparison.CurrentCultureIgnoreCase);
    		first = HtmlText.IndexOf("<p>На этот клан можно будет напасть <b>") + "<p>На этот клан можно будет напасть <b>".Length;
    		last = HtmlText.LastIndexOf("Этот клан сможет напасть");
            str2 = HtmlText.Substring(first, last - first);
            textBox3.Text+=str2+" "+webBrowser1.Url+Environment.NewLine;
            //str2="";
            textBox4.Text=HtmlText;
    				    	    	/*}
    			}
    				}
    				}
    			else
    			{
    				textBox3.Text+="Error";
    			*/
    				    	    	}
      	}
    		}
    		void GoMoswar(int clan)
    		{
    			nav = "";
    			nav="moswar.ru/clan/"+clan;
    			webBrowser1.Navigate(nav , false);
    			}
    		void GetHTMLText()
    		{
    			HtmlText="";
    			HtmlText=webBrowser1.DocumentText;
    		}
    		
    		void Button2Click(object sender, EventArgs e)
    		{
    			if (webBrowser1.IsBusy==false)
    			webBrowser1.Navigate("moswar.ru/clan/237");
    		}
    	}
    }
    Что неправильно в этом коде? Он сначала парсит 1 страницу, а потом последнюю
     
  14. dos999

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

    Joined:
    15 Feb 2008
    Messages:
    137
    Likes Received:
    24
    Reputations:
    0
    2 Dead4ik
    строки "можно будет" вообще на странице нет, поэтому
    (HtmlText.Contains("можно будет")) всегда возвращает False и у тебя ничего не происходит.
     
  15. Dead4ik

    Dead4ik Member

    Joined:
    23 Jun 2009
    Messages:
    34
    Likes Received:
    25
    Reputations:
    5
    Как минимум 2 раза условие соблюдается
    Вот другой код
    Code:
    /*
     * Created by SharpDevelop.
     * User: Dead4ik
     * Date: 05.09.2010
     * Time: 23:02
     * 
     * To change this template use Tools | Options | Coding | Edit Standard Headers.
     */
    using System;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Windows.Forms;
    using System.IO;
    using System.Text;
    using System.Text.RegularExpressions;
    using System.Net;
    
    namespace ParserNew
    {
    	/// <summary>
    	/// Description of MainForm.
    	/// </summary>
    	public partial class MainForm : Form
    	{
    		public MainForm()
    		{
    			//
    			// The InitializeComponent() call is required for Windows Forms designer support.
    			//
    			InitializeComponent();
    			
    			//
    			// TODO: Add constructor code after the InitializeComponent() call.
    			//
    		}
    		
    		void Button1Click(object sender, EventArgs e)
    		{
    			TimeClanAttack();
    		}
    					void TimeClanAttack()
    		{
    			Encoding enc = Encoding.GetEncoding("windows-1251");
    			int clan=169;
    			string url="http://moswar.ru/clan/";
    			string html=String.Empty;
    			string pattern=  "можно будет напасть <b>(.*)</b>";
    			
    			while (clan<177)
    			{
    				url="http://moswar.ru/clan/"+clan;
    				HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
    	HttpWebResponse myHttpWebResponse =(HttpWebResponse)myHttpWebRequest.GetResponse();
    	StreamReader myStreamReader = new StreamReader(myHttpWebResponse.GetResponseStream());
    	System.Threading.Thread.Sleep(2500);
        html = myStreamReader.ReadToEnd();	
        Match match = Regex.Match(html, pattern);
        textBox1.Text+=match.Groups[0].ToString();
        textBox2.Text=html;
        clan++;
        html=String.Empty;
        url=String.Empty;
    			}
    		}
    	}
    }
    
     
  16. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Вопрос к продвинутым шарпистам.
    Используете ли вы атрибуты? Для чего? В каких случаях они приносят пользу?
     
  17. .ATK

    .ATK Active Member

    Joined:
    20 Feb 2009
    Messages:
    143
    Likes Received:
    111
    Reputations:
    9
    1 person likes this.
  18. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Если честно, я не гуглил на эту тему. Т.к. все ссылки на
    статьи по сишарпу, а меня интересует дельфи. Атрибуты там очень похожи, в дельфийском разделе про это спрашивать бесполезно, а здесь рассчитывал получить простой пример чтобы понять профит.
    Ну сходя по ссылке прочитав введение вроде общий смысл понял.
     
  19. freeseth

    freeseth New Member

    Joined:
    29 Aug 2010
    Messages:
    16
    Likes Received:
    1
    Reputations:
    0
    Подскажите пожалуйста как справиться с такой ситуацией:
    Есть БД с 2 таблицами T1 и T2, которые выводятся с помощью asp.net на 2 разные страницы в GridView. Собственно на GridView есть кнопки редактирования обработчики которых вызывают редирект на другую страницу (форму редактирования). На форме редактирования в TextArea при помощи LINQ с таблицы вытаскиваются данные которые редактируются и, самое главное, через метода при помощи LINQ заносятся обратно в БД. Но тут возникает сложность, в метод переданы данные которые должны быть занесены в таблицу, но как узнать в какую таблицу? Можно проверять имена таблиц, но этот вариант очень не эфективен. Какие есть еще варианты определения из какой таблицы первоначально были запрошены данные?

    средства C#/ASP.NET/LINQ

    буду благодарен за помощь.
     
  20. .ATK

    .ATK Active Member

    Joined:
    20 Feb 2009
    Messages:
    143
    Likes Received:
    111
    Reputations:
    9
    Вообще, разрыв мозга, раз 5 читал, чтобы понять)) и то не уверен, что правильно понял.
    Я так понимаю, что если на странице редактирования данные выводятся не из рандомной таблицы, то на момент формирования страницы редактирования таблицу мы всё таки знаем. Ну, а теперь самое интересное, создаёшь hide-поле и запихиваешь туда id своей таблицы (1 или 2).
    Ну, или я бы на твоём месте, вообще задумался, о структуре твоего web-приложения, и сделал без гавнокода, которыя я предложил :D
     
Loading...
Similar Threads - Java начинающим задаем
  1. b3
    Replies:
    4
    Views:
    3,160