Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Tạo môi trường html ảo

  1. #1
    Ngày gia nhập
    07 2011
    Bài viết
    0

    Mặc định Tạo môi trường html ảo

    Bài của e như thế này ạ,xây dựng môi trường html ảo,trong đó sử dụng các tag cơ bản sau, h1,h2,h3,em,strong,img,font.... em đã viết rồi,dựa trên thư viện XML nó có các tiêu chuẩn well formed sẵn cho các tag,nhưng vấn đề gặp lúc này là khi em viết lồng các tag lại với nhau,nó lại chỉ có tác dụng cho tag bao ngoai,vì dụ <h1><em> text in here</em><h1> thì chỉ thấy hiệu ứng do cặp h1 gây ra,còn cái <em> nó ko thấy đâu,code e có sẵn rồi,bác nào có lòng tốt,chỉ hướng,điều chỉnh hoặc sửa giúp e đc ko ạ,em úp cả lên đây.Mong các bác giúp đỡ.
    code:
    http://www.mediafire.com/?q344aox1bzyvc8z

    Code:
     private void button_Click(object sender, EventArgs e)
            {
                Graphics proje = showWin.CreateGraphics();
                Graphics k = showWin.CreateGraphics();
                Font font = new Font("Times new Roman", baseSizeOfFont);
                
                SolidBrush brush = new SolidBrush(Color.Black);
                
                StringFormat format = new StringFormat();
    
                proje.Clear(showWin.BackColor);
    
                int x = 0;
                int y = 30;
                
                System.Xml.XmlReaderSettings settings = new XmlReaderSettings();
                settings.ConformanceLevel = ConformanceLevel.Fragment;
                settings.IgnoreComments = true;
                settings.IgnoreComments = true;
                MemoryStream filestream = new MemoryStream(mainField.Text.Length);
                filestream.Write(Encoding.UTF8.GetBytes(mainField.Text), 0, Encoding.UTF8.GetBytes(mainField.Text).Length);
                XmlReader errorshow = XmlReader.Create(filestream, settings);
                filestream.Seek(0, SeekOrigin.Begin);
                XmlReader filereader = XmlReader.Create(filestream, settings);
                FontStyle styleFont = new FontStyle();
                styleFont = FontStyle.Regular;
                try
                {
                    while (errorshow.Read()) ;
                    errorshow.Close();
                    while (filereader.Read())
                        switch (filereader.NodeType)
                        {
                            case XmlNodeType.Element:
                                if (filereader.Name == "img")
                                    try
                                    {
                                       /* WebRequest request = WebRequest.Create(filereader.GetAttribute(0));
                                        WebResponse response = request.GetResponse();
                                        Stream stream = response.GetResponseStream();
                                        proje.DrawImage(Image.FromStream(stream), new Point(x, y));
                                        try
                                        {
                                            x += (int)Image.FromStream(stream).Width;
                                            y += (int)Image.FromStream(stream).Height;
                                        }
                                        catch (Exception)
                                        {
                                            MessageBox.Show("Cant read measure of image", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                        }
                                        stream.Close();
                                        response.Close();*/
                                        // Create image.
                                        WebRequest request = WebRequest.Create(filereader.GetAttribute(0));
                                        WebResponse response = request.GetResponse();
                                        Stream stream = response.GetResponseStream();
                                        Image newImage = Image.FromStream(stream);
    
                                        // Create parallelogram for drawing image.
                                        Point ulCorner = new Point(100, 100);
                                        Point urCorner = new Point(550, 100);
                                        Point llCorner = new Point(150, 250);
                                        Point[] destPara = { ulCorner, urCorner, llCorner };
    
                                        // Draw image to screen.
                                        proje.DrawImage(newImage, destPara);
    
                                    }
                                    catch (Exception)
                                    {
                                        MessageBox.Show("Cant read a file of images", "error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                else if (filereader.Name == "font")
                                {
                                    switch (filereader.GetAttribute(0))
                                    {
                                        case "blue":
                                            color = Color.Blue;
                                            break;
                                        case "red":
                                            color = Color.Red;
                                            break;
                                        case "green":
                                            color = Color.Green;
                                            break;
                                        case "orange":
                                            color = Color.Orange;
                                            break;
                                        case "yellow":
                                            color = Color.Yellow;
                                            break;
                                        case "violet":
                                            color = Color.Violet;
                                            break;
    
    
                                    }
    
                                }
                                else
                                    switch (filereader.Name)
                                    {
                                        case "p":
                                            x = x + 5;
                                            break;
                                        case "h2":
                                            h2 = true;
                                            break;
                                        case "h1":
                                            h1 = true;
                                            break;
                                        case "h3":
                                            h3 = true;
                                            break;
                                        case "strong":
                                            strong = true;
                                            break;
                                        case "em":
                                            em = true;
                                            break;
    
                                        case "br":
                                            x = 0;
                                            y = y + 20;
                                            
                                            break;
                                    }
                                break;
                            case XmlNodeType.Text:
                                if (h1)
                                {
                                    x = 0;
                                    y += 20+(int)proje.MeasureString(filereader.Value, font).Height; 
                                    Font fontnew1 = new Font("Times New Roman", baseSizeOfFont * 2,styleFont);
                                    proje.DrawString(filereader.Value, fontnew1, brush, x, y, format);
                                    x = 0;
                                    y += 20 + (int)proje.MeasureString(filereader.Value, fontnew1).Height; 
                                    h1 = false;
                                    break;
    
    
                                }
                                if (h2)
                                {
                                    x = 0;
                                    y += 20 + (int)proje.MeasureString(filereader.Value, font).Height; 
                                    Font fontnew2 = new Font("Times New Roman", baseSizeOfFont * 1.6F,styleFont);
                                    proje.DrawString(filereader.Value, fontnew2, brush, x, y, format);
                                    x = 0; ;
                                    y += 20 + (int)proje.MeasureString(filereader.Value, fontnew2).Height;
                                    h2 = false;
                                    break;
    
    
                                }
                                if (h3)
                                {
                                    x = 0; ;
                                    y += 20 + (int)proje.MeasureString(filereader.Value, font).Height; 
                                    Font fontnew3 = new Font("Times New Roman", baseSizeOfFont * 1.3F,styleFont);
                                    proje.DrawString(filereader.Value, fontnew3, brush, x, y, format);
                                    x = 0; ;
                                    y += 20 + (int)proje.MeasureString(filereader.Value, fontnew3).Height;
                                    h3 = false;
                                    break;
    
    
                                }
                                if (em)
                                {
                                    styleFont = FontStyle.Italic;
                                    Font emFont = new Font("Times new Roman", baseSizeOfFont,styleFont);
                                    proje.DrawString(filereader.Value, emFont, brush, x, y);
                                    x += (int)proje.MeasureString(filereader.Value, emFont).Width;
                                    em = false;
                                    break;
                                }
                                if (strong)
                                {
                                    Font strongFont = new Font("Times New Roman", baseSizeOfFont, FontStyle.Bold);
                                    proje.DrawString(filereader.Value, strongFont,brush, x, y);
                                    x += (int)proje.MeasureString(filereader.Value, strongFont).Width;
                                    strong = false;
                                    break;
                                }
                                
                                
                                proje.DrawString(filereader.Value, font, brush, x, y, format);
                                x += (int) proje.MeasureString(filereader.Value, font).Width;
                                if (br < (int)proje.MeasureString(filereader.Value, font).Height)
                                    br = (int)proje.MeasureString(filereader.Value, font).Height;
                                
                                
                                break;
    
    
    
    
                        }
                }
    
    
                catch (XmlException ex)
                {
                    MessageBox.Show(ex.Message, "code html is not right", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    if (filereader != null)
                    {
                        ((IDisposable)filereader).Dispose();
                    }
                }
                filereader.Close();
    
            }

  2. #2
    Ngày gia nhập
    07 2011
    Bài viết
    0

    ko bác nào giúp đc em sao

  3. #3
    Ngày gia nhập
    07 2011
    Bài viết
    0

    Úp mong sự giúp đỡ của các bác

Các đề tài tương tự

  1. Algorithm Cách lọc và lấy dữ liệu từ 1 đoạn html????
    Gửi bởi sergio090588 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 11
    Bài viết cuối: 17-01-2013, 02:43 PM
  2. Trả lời: 2
    Bài viết cuối: 18-04-2012, 04:04 PM
  3. Lập trình C++ Đọc một tập tin html thì mã nhị phân nào cho biết kích thước file html?
    Gửi bởi higushima trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 26-03-2012, 11:21 AM
  4. Tạo RSS chứa HTML?
    Gửi bởi thusinh86 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 1
    Bài viết cuối: 30-05-2011, 06:50 PM
  5. Chuyển Từ trang HTML sang Cây HTML DOM như thế nào??
    Gửi bởi khuyen87nt trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 4
    Bài viết cuối: 08-04-2011, 02:32 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn