Page 1 of 2 12 LastLast
Results 1 to 40 of 47

Thread: [RESOLVED] weird text question

  1. #1

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Resolved [RESOLVED] weird text question

    Ok I have a richtextbox and I want a button that splices text together.

    for example

    <Hi>
    1
    <by>
    2
    </by>
    </Hi>

    <Hi>
    once
    <by>
    twice
    </by>
    </Hi>

    and I want it so when you press my command button you get
    <Hi>
    1
    once
    <by>
    2
    twice
    </by>
    </Hi>

    I could just use a cut and past code but there might be differnent text in between and more or less of it. If your curios I'm making a coder.

  2. #2
    Junior Member
    Join Date
    Nov 2006
    Posts
    31

    Re: weird text question

    What's a coder?

    I think You'll be wanting a loop, won't you?

    Code:
    While xChar <> EOF
         xChar = xChar + 1
         SelChar = Left((Right(RichTextbox1.Text,xChar),1)
         If IsNumeric(SelChar) Then
              Case Select "1" ...
              End Select
         End If
    Loop Until EOF
    That's semi-psuedo-code, but is that the kind of thing you want?

  3. #3
    Giants World Champs!!!! Mark Gambo's Avatar
    Join Date
    Sep 2003
    Location
    Colorado
    Posts
    2,965

    Re: weird text question

    are you getting the data from an XML File?
    Regards,

    Mark

    Please remember to rate posts! Rate any post you find helpful. Use the link to the left - "Rate this Post". Please use [highlight='vb'] your code goes in here [/highlight] tags when posting code. When a question you asked has been resolved, please go to the top of the original post and click "Thread Tools" then select "Mark Thread Resolved."


  4. #4

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    Yes I am.

  5. #5

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    I tried to run that code and got this error
    Compile error: Argument not opional and it highlights EOF

  6. #6

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    *Bump

    any other ideas?

  7. #7
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    You will need to add reference to Microsoft XML, I used version 4.0
    VB Code:
    1. Option Explicit
    2.  
    3. Private Sub Form_Load()
    4. Dim xmlDocA As New MSXML2.DOMDocument
    5. Dim xmlDocB As New MSXML2.DOMDocument
    6. Dim ndsA As IXMLDOMNodeList
    7. Dim ndsB As IXMLDOMNodeList
    8. Dim cnt As Long
    9.  
    10.    'xmlDocA.Load App.Path & "\srcA.xml"   'changed to rtb.LoadFile
    11.    'xmlDocB.Load App.Path & "\srcB.xml"
    12.    
    13.    rtbA.LoadFile App.Path & "\srcA.xml"   'load xml text into richtextbox
    14.    rtbB.LoadFile App.Path & "\srcB.xml"
    15.    xmlDocA.loadXML rtbA.Text
    16.    xmlDocB.loadXML rtbB.Text
    17.    
    18.    Call Recurse(xmlDocA, xmlDocB)   'recurse and update xmlDocA
    19.    Debug.Print xmlDocA.xml  'or output to textfile with print statement
    20. End Sub
    21.  
    22.  
    23.  
    24. Private Sub Recurse(ndA As IXMLDOMNode, ndB As IXMLDOMNode)
    25. Dim cnt As Long
    26.  
    27.    If StrComp(ndA.nodeName, "#text", vbTextCompare) = 0 Then  'then update text
    28.       ndA.nodeValue = Replace(ndA.nodeValue & ndB.nodeValue & "", vbLf & vbLf, vbLf)  'nodeValue have leading and trailing vbLf, hence use of replace()
    29.    ElseIf ndA.hasChildNodes Then
    30.       For cnt = 0 To ndA.childNodes.length - 1
    31.          Call Recurse(ndA.childNodes(cnt), ndB.childNodes(cnt))
    32.       Next
    33.    End If
    34. End Sub

  8. #8

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    Where do you get the control? I downloaded MSXML 4.0 SP2 Parser and SDK(msxml.msi) off microsoft and I cant find the control anywhere.

  9. #9
    Frenzied Member the182guy's Avatar
    Join Date
    Nov 2005
    Location
    Cheshire, UK
    Posts
    1,473

    Re: weird text question

    you can do this with clever use of the Split() function, theres no need for extra componants, I havent vb6 here so I can't give you the code but just a suggestion
    Chris

  10. #10
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    Quote Originally Posted by LawnNinja
    Where do you get the control? I downloaded MSXML 4.0 SP2 Parser and SDK(msxml.msi) off microsoft and I cant find the control anywhere.
    theres no out of the ordinary control involved with the code above (that had just 2 richtextboxes on a form), i didnt say you'll add a component to the project for msxml... add the reference to msxml 4... click project (between view and format) in the ide menu then click references.
    Last edited by leinad31; Nov 18th, 2006 at 01:39 PM.

  11. #11

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    Ok I think I'm confused Here is my project file. I want it so when you click my button at the bottem it takes the text from the top one and adds it to the second one in the way I said in Post #1. I used both code together was I only suposed to used 1? Also does anyone know about the split function?

  12. #12
    PowerPoster
    Join Date
    Dec 2004
    Posts
    25,618

    Re: weird text question

    VB Code:
    1. str1 = "<Hi>" & vbNewLine & "1" & vbNewLine & "<by>" & vbNewLine & "2" & vbNewLine & "</by>" & vbNewLine & "</Hi>"
    2.  str2 = "<Hi>" & vbNewLine & "once" & vbNewLine & "<by>" & vbNewLine & "twice" & vbNewLine & "</by>" & vbNewLine & "</Hi>"
    3. arr1 = split(str1, vbNewLine)
    4. arr2 = split(str2, vbNewLine)
    5. For i = 0 To UBound(arr1)
    6.     If Not arr1(i) = arr2(i) Then arr1(i) = arr1(i) & vbNewLine & arr2(i)
    7. Next
    8. str1 = join(arr1, vbNewLine)
    9. Debug.Print str1
    returns
    <Hi>
    1
    once
    <by>
    2
    twice
    </by>
    </Hi>
    i do my best to test code works before i post it, but sometimes am unable to do so for some reason, and usually say so if this is the case.
    Note code snippets posted are just that and do not include error handling that is required in real world applications, but avoid On Error Resume Next

    dim all variables as required as often i have done so elsewhere in my code but only posted the relevant part

    come back and mark your original post as resolved if your problem is fixed
    pete

  13. #13
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    Your confused about adding a reference? Here the project with the reference added... if it errors out on load then that means you don't have MSXML 4 in your references list.

    Split works but you will pass up the chance to learn to use MSXML objects if you go that way.
    Attached Files Attached Files

  14. #14

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    I had the refence and you code worked just fine but I don't want the the text to appear in a dialog as it does. This is how I have my coder layed out. I have two forms. One is the main form and two is the secondary. I want it so when you press a command button in form2(Secondary) it takes the text from the richtextbox in form2
    <Hi>
    whatevers here
    <by>
    whatevers here
    </by>
    </Hi>

    and does what your example does but adds the text to the existing richtextbox's text in form1..... Can this be done?

  15. #15

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    I was just trying to apply that code the way I wanted and found out something that poses a problem for my app As long as its text in the spot above called "whatevers here" it works fine Etc. Hi, By,........

    But if you use something like this <building> and then </Bulding> inbetween in just gives you whats typed in rtb1 in a message box. Does anyone know how to fix this?

  16. #16
    PowerPoster
    Join Date
    Dec 2004
    Posts
    25,618

    Re: weird text question

    have a look at the sample i posted, it should do what you want, just replace str1 and str2 with your rich textboxes
    i do my best to test code works before i post it, but sometimes am unable to do so for some reason, and usually say so if this is the case.
    Note code snippets posted are just that and do not include error handling that is required in real world applications, but avoid On Error Resume Next

    dim all variables as required as often i have done so elsewhere in my code but only posted the relevant part

    come back and mark your original post as resolved if your problem is fixed
    pete

  17. #17
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    There are only three steps in that algorithm, loading the data, recursion, and display. So you will obviously update code after the recursion. Change the MsgBox or Debug.Print Line to

    rtbA.Text = xmlDocA.xml

    EDIT westconn, this is xml, a line can contain several tags such as

    <Hi>
    1
    <by>
    2
    </by></Hi>

    ... your algo assumes they are formatted similarly per line and fails if not similarly formatted even if the tags are ordered/nested properly...
    Last edited by leinad31; Nov 19th, 2006 at 05:13 PM.

  18. #18

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    @leinad31: Ya your code works perfect until you add something like <House> or </House> or anything with a < or a > between <Hi> and <by> or between <by> and </by> in either one of the xml soarce file and then it doesn't work and just displays whats in the first soarce file. Do you know how to fix this?

    @westconn1: I used your code in the example below to demostrate the kind of thing I want. The problem is the I want anything in between to show up and not just put that code in. Maybe I didn't apply it right, check it out
    Attached Files Attached Files

  19. #19
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    Post what's the possible complete structure, or note the optional tags... the previous algorithm updated source A with B elements on the assumption that A and B have the same structure (by in hi and no other elements)... if the structure is variable, eg for <Hi> elements to be combined either A or B have additional tags such as <building> then we have to include additional processing to ensure that only Hi and By are combined.

  20. #20

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    Heres some of the start of my coder. Check it out and see if you can help
    Attached Files Attached Files

  21. #21
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    I'll look into it later when I get home, I'm at a rental so there's no VB here.

    And I need representative copies of the source xmls... does the zip above contain those? or does the project retrieve them from an online site? Otherwise the posts above are my only reference for the xml structure.

  22. #22
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    Ok... this makes a collection of the <Hi> elements then uses XPath, on value passed to selectsinglenode method's argument, to get the <by> child by element of each <Hi> element. I mentioned those in case you want to do additional research related to the code below.

    VB Code:
    1. Private Sub Command1_Click()
    2. Dim xmlDocA As New MSXML2.DOMDocument
    3. Dim xmlDocB As New MSXML2.DOMDocument
    4. Dim ndsHiA As IXMLDOMNodeList
    5. Dim ndsHiB As IXMLDOMNodeList
    6. Dim ndA As IXMLDOMNode
    7. Dim ndB As IXMLDOMNode
    8. Dim cntHi As Long
    9.  
    10. '===========================================================
    11. 'temp implementation for loading text xml update accordingly
    12.    'xmlDocA.loadXML Form1.RichTextBox1.Text
    13.    'xmlDocB.loadXML Form1.RichTextBox1.Text
    14.    xmlDocA.Load App.Path & "\srcA.xml"
    15.    xmlDocB.Load App.Path & "\srcB.xml"
    16. '===========================================================
    17.  
    18.    Set ndsHiA = xmlDocA.getElementsByTagName("Hi")
    19.    Set ndsHiB = xmlDocB.getElementsByTagName("Hi")
    20.    Do
    21.       Set ndA = ndsHiA.Item(cntHi).selectSingleNode("text()")
    22.       Set ndB = ndsHiB.Item(cntHi).selectSingleNode("text()")
    23.       ndA.nodeValue = Replace(ndA.nodeValue & ndB.nodeValue, vbLf & vbLf, vbLf)
    24.  
    25.       'your currently at Hi so access path by/text()... think of it similar to folder/subfolders
    26.       Set ndA = ndsHiA.Item(cntHi).selectSingleNode("by/text()")  
    27.       Set ndB = ndsHiB.Item(cntHi).selectSingleNode("by/text()")
    28.       ndA.nodeValue = Replace(ndA.nodeValue & ndB.nodeValue, vbLf & vbLf, vbLf)
    29.  
    30.       cntHi = cntHi + 1
    31.    Loop While (cntHi < ndsHiA.length - 1 Or cntHi < ndsHiB.length - 1)
    32.    
    33.    Form1.RichTextBox1.Text = xmlDocA.xml 'or output to textfile with print statement
    34. End Sub
    Please note that only the text node of the <Hi> and <by> elements are merged... the richtextbox final output is the updated xml for source A, hence uses the xml structure of A... if there were child nodes in source B, such as <buildings>, they are left in source B and not transffered/merged with source A.

    And lastly, your last project assigned the same xml (richtextbox.text) to xmlDocA and xmlDocB objects.
    Last edited by leinad31; Nov 21st, 2006 at 04:35 AM.

  23. #23

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    Ok, when I try to run that code with my program I get this error

    Run-Time error '91' bject variable or with block variable not set

    and highlight this code.
    Code:
    Set ndA = ndsHiA.Item(cntHi).selectSingleNode("text()")
    Did you have this problem?

  24. #24
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    nope, did you update the loading part of the algorithm? That will only happen if xmlDocA was not loaded an xml source.

  25. #25

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    Thats odd, heres you code added to my program. See if it runs fine with you.
    Attached Files Attached Files

  26. #26

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    O wait know I know what your saying The problem is I dont want to load the xml files I want it so you type it into the form2 richtextbox and then add it to the current code the method I said above. How do you make this code work in this fashion?

  27. #27
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    First off, get rid of the duplicate declarations/references in procedure level and module levels...

    Since your passing the xml stream/string/source and not a path to an xml file then use loadxml method

    xmlDocA.LoadXML Form1.RichTextBox1.Text

    Do something similar for xmlDocB...

  28. #28

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    Ok, I did that an I still get the smae error.....I've attached my project file.
    The error happens when I'm in form1 then I type

    <Hi>
    <1>
    </1>
    <by>
    <2>
    </2>
    </by>
    </Hi>

    into the form1 richtextbox, then I go to form2 and type

    <Hi>
    <house>
    </house>
    <by>
    <hill>
    </hill>
    </by>
    </Hi>

    into the form2 richtextbox. Then I click the commannd button in form2 (Add Code) and get this error. Do you know how to fix this?
    Attached Files Attached Files

  29. #29
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    I didn't put error handling cause I thought you would be passing valid xml's

    <1>... tag name is erroneous... so you will have to rename that
    text() node does not exist in childnodes if there's no text... just test if ndA Or ndB is Nothing

    VB Code:
    1. 'blah blah lines
    2.       Set ndA = ndsHiA.Item(cntHi).selectSingleNode("text()")
    3.       Set ndB = ndsHiB.Item(cntHi).selectSingleNode("text()")
    4.       If Not (ndA Is Nothing) And Not (ndB Is Nothing) Then
    5.          ndA.nodeValue = Replace(ndA.nodeValue & ndB.nodeValue, vbLf & vbLf, vbLf)
    6.       End If
    7.  
    8.       'your currently at Hi so access path by/text()... think of it similar to folder/subfolders
    9.       Set ndA = ndsHiA.Item(cntHi).selectSingleNode("by/text()")
    10.       Set ndB = ndsHiB.Item(cntHi).selectSingleNode("by/text()")
    11.       If Not (ndA Is Nothing) And Not (ndB Is Nothing) Then
    12.          ndA.nodeValue = Replace(ndA.nodeValue & ndB.nodeValue, vbLf & vbLf, vbLf)
    13.       End If
    14.  
    15. 'blah blah lines

  30. #30

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    Ok I replaced my current code with that one and it still gave me this error again.

    Run-Time error '91' bject variable or with block variable not set

    and highlight this code.
    Code:
    Set ndA = ndsHiA.Item(cntHi).selectSingleNode("text()")
    Any ideas?

  31. #31
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    Did you remove/replace the invalid xml tags <1> and <2>? If the xml is invaliud then of course it won't be loaded into the domdocument. Try this instead

    <Hi>
    <a1>
    </a1>
    <by>
    <b2>
    </b2>
    </by>
    </Hi>

  32. #32
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    For your reference

    http://www.w3schools.com/xml/xml_elements.asp

    Look up element naming

  33. #33

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    I used that so its valid and all it did was take my form1 richtextbox and reorganize it like so.
    Code:
    <Hi>
    	<a1>
    	</a1>
    	<by>
    		<b2>
    		</b2>
    	</by>
    </Hi>
    when it was like this
    Code:
    <Hi>
    <a1>
    </a1>
    <by>
    <b2>
    </b2>
    </by>
    </Hi>
    I doesn't add my code form2 richtextbox though.
    Maybe my code is invalid for the form2 richtextbox. Can you post some xml code that will splice in my program with the one you just posted ?

  34. #34
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    Quote Originally Posted by leinad31
    Please note that only the text node of the <Hi> and <by> elements are merged... the richtextbox final output is the updated xml for source A, hence uses the xml structure of A... if there were child nodes in source B, such as <buildings>, they are left in source B and not transffered/merged with source A.
    So what are you really trying to accomplish? We've been beating around the bush and making samples for cases which appear to be related to what you need but is not exactly what you needed.

    So what exactly?

  35. #35

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    The code I wish to actual merge is,
    <gauge> and <mouse> </mouse> and then </gauge>. Like so.

    Code:
    <Gauge>
    <element>
    </element>
    <mouse>
    <area>
    </area>
    </mouse>
    </gauge>
    I want it so from <gauge> to <mouse> all the text from the other form gets added inbetween its <gauge> to <mouse> and also between <mouse> and </mouse>.

  36. #36
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    It already does that if you replace Hi with Gauge and by with mouse.

  37. #37

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    I changed it and typed

    Code:
    <Gauge>
    <element>
    </element>
    <Mouse>
    <area>
    </area>
    </Mouse>
    </Gauge>
    in the form1 richtextbox and...
    Code:
    <Gauge>
    <element>
    </element>
    <Mouse>
    <area>
    </area>
    </Mouse>
    </Gauge>
    in form2 richtextbox and I still got the error. I'v attached my current code
    Attached Files Attached Files

  38. #38

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    Sorry, what I meant is I typed the first section of code into form1 richtextbox and the second to form2 richtextbox and pressed the "add code" command button in form2 and it gave be the error. I'v changed Hi to Gauge and by to Mouse ??? Any ideas?

  39. #39
    PowerPoster
    Join Date
    Nov 2002
    Location
    Manila
    Posts
    7,629

    Re: weird text question

    seems the xml object automatically indents the elements to show the nesting... similar to what happens when you view the xml source in a browser... using Replace() to remove the vbTab indents returns a non-indented source if that's what you want.

    Here's the updated command click event

    VB Code:
    1. Private Sub Command1_Click()
    2. Dim xmlDocA As New MSXML2.DOMDocument
    3. Dim xmlDocB As New MSXML2.DOMDocument
    4. Dim ndsHiA As IXMLDOMNodeList
    5. Dim ndsHiB As IXMLDOMNodeList
    6. Dim ndA As IXMLDOMNode
    7. Dim ndB As IXMLDOMNode
    8. Dim cntHi As Long
    9.  
    10.    xmlDocA.loadXML Replace(Form1.RichTextBox1.Text, vbCrLf, vbLf)
    11.    xmlDocB.loadXML Replace(Form2.RichTextBox1.Text, vbCrLf, vbLf)
    12.  
    13.    If Len(xmlDocA.xml) = 0 Or Len(xmlDocB.xml) = 0 Then Exit Sub
    14.    
    15.    Set ndsHiA = xmlDocA.getElementsByTagName("Gauge")
    16.    Set ndsHiB = xmlDocB.getElementsByTagName("Gauge")
    17.    Do
    18.       Set ndA = ndsHiA.Item(cntHi).selectSingleNode("text()")
    19.       Set ndB = ndsHiB.Item(cntHi).selectSingleNode("text()")
    20.       If Not (ndA Is Nothing) And Not (ndB Is Nothing) Then
    21.          ndA.nodeValue = Replace(ndA.nodeValue & ndB.nodeValue, vbLf & vbLf, vbLf)
    22.       End If
    23.      
    24.       'your currently at Hi so access path by/text()... think of it similar to folder/subfolders
    25.       Set ndA = ndsHiA.Item(cntHi).selectSingleNode("Mouse/text()")
    26.       Set ndB = ndsHiB.Item(cntHi).selectSingleNode("Mouse/text()")
    27.       If Not (ndA Is Nothing) And Not (ndB Is Nothing) Then
    28.          ndA.nodeValue = Replace(ndA.nodeValue & ndB.nodeValue, vbLf & vbLf, vbLf)
    29.       End If
    30.      
    31.       cntHi = cntHi + 1
    32.    Loop While (cntHi < ndsHiA.length - 1 Or cntHi < ndsHiB.length - 1)
    33.  
    34.    Form1.RichTextBox1.Text = Replace(xmlDocA.xml, vbTab, "")
    35. End Sub

  40. #40

    Thread Starter
    Hyperactive Member LawnNinja's Avatar
    Join Date
    Aug 2006
    Posts
    446

    Re: weird text question

    Now nothing seems to happen when I press add code ??? Did this happen with you?

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width