Toon posts:

[C#] Een regel per regel

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil een bestand uitlezen, en de uitgeleze gegevens in een richTextBox laten weergeven. Dit is me gelukt met behulp van de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
using System.IO;

private void button2_Click(object sender, System.EventArgs e)
{
  if (!File.Exists("GRPGUARD.INI")) 
  {
    richTextBox1.AppendText(" It does not exist.");
    return;
  }
  StreamReader sr = File.OpenText("GRPGUARD.INI");
  String input;
  while ((input=sr.ReadLine())!=null) 
  {
    richTextBox1.AppendText(input);
  }
  richTextBox1.AppendText ("The end of the stream has been reached.");
  sr.Close();


Het enige probleem hierbij is dat als er een regel langer is dan de richTextBox, de text uit z'n verband wordt getrokken. Tevens worden de <enter>'s niet mee genomen.
Wat ik wil is dat de eerste textregel op regel nr. 1 van het richtextbox beland en regel 2 op de 2de regel enz enz.

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 09:56

Super_ik

haklust!

heb je de scrollbalken aanstaan? en je word wrap uit staan?

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


Verwijderd

Topicstarter
scroll balken staan aan, en word wrap ook
zal wordwrap eens uitzetten dan :D

what the hell is wordwrap?

nou gaan de regels gelukkig wel door, maar de <enter>'s worden als nog niet meegenomen.

[ Voor 28% gewijzigd door Verwijderd op 30-03-2004 10:12 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 12:06
Waarom gebruik je niet Lines.Add() voor iedere nieuwe regel?

code:
1
2
3
4
5
6
7
FileStream fs = new FileStream (......);
StreamReader sr = new StreamReader (fs);

while( sr.Peek() > -1 )
{
    memo1.Lines.Add (sr.ReadLine());
}

https://fgheysels.github.io/


  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 09:56

Super_ik

haklust!

word wrap breekt regels af als ze te lang zijn. word wrap probeert t meestal nog wel een beetje netjes te doen, dus alleen hele woorden, en niet midden in een woordt te breken. :)

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


  • Crysania
  • Registratie: September 2000
  • Laatst online: 26-05 22:58
je leest elke keer de regel, en zet deze text achter de vorige.

je moet ook elke keer op een nieuwe regel beginnen met de text toevoegen

dit doe je door een \n op het einde toe te voegen

code:
1
2
TextBox1.Text = "bla\n";
TextBox1.Text += "bla\n";

[ Voor 53% gewijzigd door Crysania op 30-03-2004 10:30 ]


Verwijderd

Topicstarter
@whoami : richTextBox.Add of richTextBox.Lines.Add bestaat niet.

@THE_CROSS: Thnx, door jou manier toe te passen ist gelukt :D
De aangepaste code is:
code:
1
2
3
4
5
while ((input=sr.ReadLine())!=null) 
  {
    input += '/n';
    richTextBox1.AppendText(input);
  }

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Lines.Add, is dat niet Delphi code?

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • whoami
  • Registratie: December 2000
  • Laatst online: 12:06
Ja, 't is Delphi. 'k was mis.
In .NET is textBox1.Lines gewoon een string[], en die kent natuurlijk geen Add() method oid.
Je kan natuurlijk wel geheugen gaan alloceren voor n-lines voor de Lines property, en dan met de indexer werken om de nde lijn toe te voegen, maar dat is een omweg. :+

https://fgheysels.github.io/

Pagina: 1