Ricerca 
it-ITen-US
Registrazione
Accedi
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Stampa     


DotNetWork Forums
[C#] drawline e split string con coordinate x y
Ultimo Post 14 mar 2010 18.36 by gigi. 44 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Page 1 di 212 > >>
Autore Messaggi

Posts:90

--
26 gen 2010 12.02  
Salve,
ho questo codice:
--------------------------------------------------
Graphics g = e.Graphics;
Pen redPen = new Pen(Color.Red, 1 / g.DpiX);
g.TranslateTransform(1, 1.0f);
g.PageUnit = GraphicsUnit.Millimeter;
g.DrawLine(redPen, 0, 0, 0, 100);
g.DrawLine(redPen, 0, 100, 100,100);
g.DrawLine(redPen, 100, 0, 100, 100);
g.DrawLine(redPen, 100, 0, -0, -0);

-----------------------------------------------
Mi dite come faccio ad aprire un file txt che ad questo formato:
0,100

nel senso ora mi spiego: Penso di usare un split string che riconosca la virgola, e mette
i valori nella drawline x,y
e i punti . per fare che può scrivere i numeri in queto formato: 230.32,302.12

solo che la drawline scritta cosi accetta se non mi sbaglio numeri da 0 99999 senza tipo questi 9999.999 e mi da errore di int.

Mi dite come fare?

Grazie.




Posts:241

--
26 gen 2010 14.49  
Ciao,
per fare che può scrivere i numeri in queto formato: 230.32,302.12

se ho capito bene te hai bisogno di queste due coordinate:
230.32 e 302.12

Sono però due numeri decimali (VS riconosce il punto come separatore decimale) quindi se hai bisogno di due numeri Integer devi fare un cast.

Andrea



Posts:90

--
26 gen 2010 15.36  
ok , ho fatto una prova, vedi codice:

----------------------------------------------------------------
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
double x = 1234.7;
int a;
// Cast double to int.
a = (int)x;

Graphics g = e.Graphics;
Pen redPen = new Pen(Color.Red, 1 / g.DpiX);
g.TranslateTransform(1, 1.0f);
g.PageUnit = GraphicsUnit.Millimeter;
g.DrawLine(redPen, 0, 0, 0, 100);
g.DrawLine(redPen, 0, 100, a, 100);
g.DrawLine(redPen, 100, 0, 100, 100);
g.DrawLine(redPen, 100, 0, -0, -0);
}
--------------------------------------------------------------

e vedi la variabile a . Mi dici se è cosi?.

Per prendere i valori da file txt.? come faccio?

Grazie.



Posts:435

--
27 gen 2010 00.21  
Ciao,
per leggere dei valori da un file di testo usi uno streamreder.

eccoti un piccolo esempio che dovrebbe funzionare...

[code]
public void LeggiFile(string nome) // nome contiene il nome del file
        {
            Graphics g = this.CreateGraphics();
            Pen redPen = new Pen(Color.Red, 1 / g.DpiX);
            g.TranslateTransform(1, 1.0f);
            g.PageUnit = GraphicsUnit.Millimeter;
            g.DrawLine(redPen, 0, 100, 100, 100);
            g.DrawLine(redPen, 100, 0, 100, 100);
            g.DrawLine(redPen, 100, 0, -0, -0);

            StreamReader sr = new StreamReader(nome);
            string[] coordinate;
            int x = 0;
            int y = 0;
            int x1 = 0;
            int y1 = 0;
            while (!sr.EndOfStream)
            {
                coordinate = sr.ReadLine().Split(','); // tra apici va il carattere che separa i valori
                x = Convert.ToInt32(coordinate[0]); // convertiamo in valori numerici interi, ma DrawLine accetta anche float
                y = Convert.ToInt32(coordinate[1]); // convertiamo in valori numerici interi, ma DrawLine accetta anche float
                g.DrawLine(redPen, x1, y1, x, y);
                x1 = x; // x1 contiene il valore x di partenza per la prossima linea
                y1 = y; // y1 contiene il valore y di partenza per la prossima linea
            }
            redPen.Dispose();
            g.Dispose();
            sr.Close();
            sr.Dispose();
        }
[/code]

E' un po' spartano, ma spero ti sia di aiuto.

Max.




Posts:435

--
27 gen 2010 00.23  
ah, nel copia incolla del tuo codice sono rimaste righe da togliere, devi levare le tre righe sotto la riga dell'unita di misura, ovviamente.



Posts:90

--
27 gen 2010 14.37  
grazie mille, apena posso provo, ora sono ad scuola, e poi mi e morto il mio babbo,
e questi sono dietro ai funerali.

Ti ringrazio molto.
ciao apena posso provo.
grazie.



Posts:90

--
27 gen 2010 19.04  
grazie ho provato, e funziona....
mi dici una cosa:
come faccio ad fare un pulsante che quando clicco esegue le coordinate,
invece di metterlo nell picturebox1_paint?

grazie.



Posts:90

--
27 gen 2010 20.25  
ok, ho fatto. grazie mile.



Posts:90

--
27 gen 2010 20.36  
ha, io sto diventanto scemo con queste coordinate.....
vedi codice: o rimesso pixel , perchè millimetri non so neanche se funzionano da vero.
-----------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{

Graphics g = pictureBox1.CreateGraphics();
Pen redPen = new Pen(Color.Red, 1 / g.DpiX);
//g.TranslateTransform(1, 1.0f);
g.PageUnit = GraphicsUnit.Pixel;


StreamReader sr = new StreamReader("c:\\prova.txt");
string[] coordinate;
int x = 0;
int y = 0;
int x1 = 0;
int y1 = 0;
while (!sr.EndOfStream)
{
coordinate = sr.ReadLine().Split(','); // tra apici va il carattere che separa i valori
x = Convert.ToInt32(coordinate[0]); // convertiamo in valori numerici interi, ma DrawLine accetta anche float
y = Convert.ToInt32(coordinate[1]); // convertiamo in valori numerici interi, ma DrawLine accetta anche float
g.DrawLine(redPen, x1, y1, x, y);
x1 = x; // x1 contiene il valore x di partenza per la prossima linea
y1 = y; // y1 contiene il valore y di partenza per la prossima linea
}
redPen.Dispose();
g.Dispose();
sr.Close();
sr.Dispose();
}
}
}
-------------------------------------------------------------------
questo dovrebbe disegnare un triangolo visto da alto in 2d.

1299,1308
1324,1258
1274,1258

Però fa solo una linea.

Bo! io ci sto pazzendo.... mi dite voi come fare?

grazie.



Posts:435

--
28 gen 2010 13.44  
Nella picturebox non funziona nemmeno a me, ma nella form si.
Non sono molto pratico nel disegnare sulle form e piu in la di cosi ho difficolta a darti delle dritte giuste. ;-)

Non ho capito cosa devi fare, ma comunque, se devi disegnare un grafico ti consiglio nplot, che e' una dll gratuita, facile da utilizzare e piuttosto veloce nel disegno.

ecco il link:
http://netcontrols.org/nplot/wiki/i...n.HomePage

HTH
Max



Posts:435

--
28 gen 2010 14.09  
Aggiornamento:

Per vedere cosa hai disegnato devi aggiungere questa riga alla fine del ciclo di disegno, prima dei dispose:

pictureBox1.SendToBack();

Altrimenti non vedi nulla (ma non chiedermi perche') !



Posts:241

--
28 gen 2010 14.26  
Nella picturebox non funziona nemmeno a me, ma nella form si.

A me funziona.
Le coordinate sono superiori alla risoluzione dello schermo quindi il triangolo viene disegnato molto spostato (e ne vedi solo una linea).
Prova a ridurre le coordinate per capire meglio:
x = Convert.ToInt32(coordinate(0)) \ 5 ' divide la coordinata per 5
y = Convert.ToInt32(coordinate(1)) \ 5 ' divide la coordinata per 5

Se vuoi testare invece le coordinate attuali è un po' più complicato:
- aggiungi un panel con Autoscroll=True
- inserisci al suo interno la picture box
ridimensiona la picturebox a all'interno del ciclo While

' Variabili d'appoggio fuori dal ciclo While.
Dim resizeWith As Integer = 0
Dim resizeHeight As Integer = 0
...

' Ridimensiona la picturebox in base alle coordinate.
If x > resizeWith Then
Me.PictureBox1.Width = x + 100
End If
If y > resizeHeight Then
Me.PictureBox1.Height = y + 100
End If

Andrea



Posts:241

--
28 gen 2010 14.36  
Dimenticavo che per testare la picture dentro al panel devi per forza disegnare all'interno dell'evento Paint, altrimenti l'immagine verrà cancellata ogni volta che cliccherai sulle scrollbars.

Per attivare il disegno puoi appoggiarti ad una variabile booleana ("flag") che attiverai col pulsante.

Es:
dim draw as boolean
...
Private Sub Button1_Click(ByVal sender As S...
Me.draw = true
End sub
...
Private Sub PictureBox1_Paint(ByVal sender As Ob....
if Me.draw = True Then
' disegna ....
else
exit sub ' se lo legge Alberto si arrabbia
end if
End sub

Il codice è in VB ma è semplice.

Andrea



Posts:90

--
28 gen 2010 17.58  
ok, si come che io uso autocad per disegnare il 2d cad ,

e mi volevo simulare un pantografo a controllo numerico,

solo se prendo le misure che ci sono in autocad , e le metto nel programma con le coordinate giuste,
il programma mi disegna altro. o alcune volte nulla.

Ora provo come mi avete suggerito, solo che mi è difficile convertire da vb.net a c# , perchè conosco poco il c# e vb.net nulla.

Ora vedo anche quella dll e vedo se fa caso mio.

grazie.



Posts:435

--
28 gen 2010 18.09  
Se devi convertire da C# a VB e viceversa questo e' il sito giusto:

http://www.developerfusion.com/tools/convert/csharp-to-vb/ (lo trovi nei link in fondo alla homepage di DNW)

HTH
Max



Posts:90

--
28 gen 2010 19.40  
allora, ci sono quasi , ora vorrei che mi disegna pixel per pixel,
per adesso ho provato cosi, ma non so perchè non funziona.... sto prendento spunto da qui:

http://www.mycutepictures.com/tutorials/csharp/2009/03/drawing-lines-pixel-by-pixel-in-c/


questo è il mio codice codice:
-------------------
List PointList = new List();
int pointIndex = 0;

private void button1_Click(object sender, EventArgs e)
{

try
{
timer1.Enabled = true;
using (StreamReader sr = new StreamReader("TextFile1.txt"))
{

string[] coordinate;
this.pictureBox1.Image = null;
Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);

Graphics g = Graphics.FromImage(bmp);

Pen redPen = new Pen(Color.Red, 1 / g.DpiX);
g.TranslateTransform(pictureBox1.Width / 5, pictureBox1.Height / 5);
g.PageUnit = GraphicsUnit.Pixel;
g.PageScale = 2.0F;




for (int i = 0; i < pointIndex; i++)
{
while (!sr.EndOfStream)
{

coordinate = sr.ReadLine().Split(',');
int x1 = Convert.ToInt32(coordinate[0]);
int y1 = Convert.ToInt32(coordinate[1]);
int x = Convert.ToInt32(coordinate[2]+1);
int y = Convert.ToInt32(coordinate[3]+1);
g.DrawLine(redPen, x1, y1, x, y);
}
}
pictureBox1.Image = bmp;
}
}
catch (Exception ex)
{
MessageBox.Show("" + ex.ToString() + "");
}

}
private void timer1_Tick(object sender, EventArgs e)
{
if (pointIndex < PointList.Count - 1)
{
pointIndex++;
this.Refresh();
}
}
-----------------------------------------------
questo è il file code:
0,100,100,100
100,0,100,100
100,0,-0,-0
0,100,0,0

Mi dite come faccio ad fare che mi traccia un pixel per pixel?
grazie.



Posts:435

--
29 gen 2010 08.39  
Ciao,
ho guardato il tutorial che hai indicato, ma il codice non assomiglia nellmeno lontanamente a quello che hai scritto tu.

Li disegna la linea punto per punto, leggendo le coordinate iniziali e finali della inea e calcolandone lunghezza e punti intermedi...

Piu' che mdificare i tuo codice dovresti prendere quello e aggiungere le parti di lettura dei dati a file.

come vedi qui:

PointF[] pt = new PointF[] {
new PointF(100, 100),
new PointF(150, 150),
new PointF(200, 100),
new PointF(100, 100),

crea un array di punti (che sono i vertici di un triangolo) e nelle righe sotto calcola le coordinate dei punti intermedi aggiungendoli alla lista: List PointList

alla fine disegna le linee ciclando sulla lista.

Usa quel codice li e aggiungi solo la lettura dei dati da file.

HTH
Max





Posts:90

--
29 gen 2010 10.32  
grazie, e come faccio ad modificare quel tutorial e prendere i valori dal file di testo come si era già fatto prima?

grazie mille.



Posts:90

--
29 gen 2010 11.29  
scusa, ma non so come fare senza questo codice:
ORA HO FATTO COSI:
----
private void button1_Click(object sender, EventArgs e)
{
using (StreamReader sr = new StreamReader("TextFile1.txt"))
{
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.DoubleBuffer, true);
string[] coordinate;
while (!sr.EndOfStream)
{

coordinate = sr.ReadLine().Split(',');
PointF[] pt = new PointF[] {
new PointF(coordinate[0], coordinate[1]),
new PointF(150, 150),
new PointF(200, 100),
new PointF(100, 100),

};

// Get Points From Line(s)
float curDist = 0;
float distance = 0;
for (int i = 0; i < pt.Length - 1; i++)
{
PointF ptA = pt;
PointF ptB = pt[i + 1];
float deltaX = ptB.X - ptA.X;
float deltaY = ptB.Y - ptA.Y;
curDist = 0;
distance = (float)Math.Sqrt(Math.Pow(deltaX, 2) + Math.Pow(deltaY, 2));
while (curDist < distance)
{
curDist++;
float offsetX = (float)((double)curDist / (double)distance * (double)deltaX);
float offsetY = (float)((double)curDist / (double)distance * (double)deltaY);
PointList.Add(new PointF(ptA.X + offsetX, ptA.Y + offsetY));
}
}
}
}
}
---------------------

Ma mi da errori.
Mi dici come fare?.
grazie.



Posts:90

--
29 gen 2010 11.30  
*scusa, ma non so come fare senza questo codice:

volevo dire che ora ho fatto cosi, ma non mi funiona perchè mi da errori dei pointf new pointf.

Mi protesti aiutare?

PS: Ma non c'è il comando modifica post del forum?.



Posts:435

--
29 gen 2010 12.17  
Prova con questo codice, ma ricorda di cercare di capire quello che stai copiando e incollando ! ;-)

 using (StreamReader sr = new StreamReader("pippo.txt"))
            {
                List PointList = new List();
                int x=0;
                int y=0;
                SetStyle(ControlStyles.UserPaint, true);
                SetStyle(ControlStyles.AllPaintingInWmPaint, true);
                SetStyle(ControlStyles.DoubleBuffer, true);
                string[] coordinate;
                List pt = new List();
                while (!sr.EndOfStream)
                {

                    coordinate = sr.ReadLine().Split(',');
                    x = Convert.ToInt32(coordinate[0]); // convertiamo in valori numerici interi, ma DrawLine accetta anche float
                    y = Convert.ToInt32(coordinate[1]); // convertiamo in valori numerici interi, ma DrawLine accetta anche float
                    PointF p = new PointF(x, y);
                    pt.Add(p);
                }

                    // Get Points From Line(s)
                    float curDist = 0;
                    float distance = 0;
                    for (int i = 0; i < pt.Count - 1; i++)
                    {
                        PointF ptA = pt;
                        PointF ptB = pt[i + 1];
                        float deltaX = ptB.X - ptA.X;
                        float deltaY = ptB.Y - ptA.Y;
                        curDist = 0;
                        distance = (float)Math.Sqrt(Math.Pow(deltaX, 2) + Math.Pow(deltaY, 2));
                        while (curDist < distance)
                        {
                            curDist++;
                            float offsetX = (float)((double)curDist / (double)distance * (double)deltaX);
                            float offsetY = (float)((double)curDist / (double)distance * (double)deltaY);
                            PointList.Add(new PointF(ptA.X + offsetX, ptA.Y + offsetY));
                        }
                    }
                }

HTH
Max



Posts:90

--
29 gen 2010 20.08  
ok. scusa per il ritardo ma ero a scuola in officina.... per 6 ore.
ed poi sono andato al risotarante.

Ora provo. grazie.



Posts:90

--
29 gen 2010 20.16  
allora, mi da 4 errori il compilatore:
mi dice:
Errore 1 L'utilizzo del tipo generico 'System.Collections.Generic.List' richiede argomenti di tipo '1' D:\sito\Tutorial5\Tutorial5\Form1.cs 43 17 Tutorial5

List PointList = new List(); <- Errore qui.

e l'altro:
List pt = new List();

Sempre il solito messaggio..

che cosa devo fare?
grazie mille.




Posts:90

--
29 gen 2010 20.44  
*D:\sito\

questo non vederlo è dove ho messo il tutorial per provarlo e per mettere le tue modifiche.

Grazie.



Posts:90

--
29 gen 2010 20.46  
faccio prima ad copiarti tutto il codice qui:
Ora me lo sto studiando solo che non riesco ad risolvere quei errori lì.

------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
using System.IO;
namespace Tutorial5
{
public partial class Form1 : Form
{
List PointList = new List();
int pointIndex = 0;

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
}

private void Form1_Paint(object sender, PaintEventArgs e)
{
}

private void timer1_Tick(object sender, EventArgs e)
{
if (pointIndex < PointList.Count - 1)
{
pointIndex++;
this.Refresh();
}
}

private void button1_Click(object sender, EventArgs e)
{
using (StreamReader sr = new StreamReader("pippo.txt"))
{
List PointList = new List();
int x = 0;
int y = 0;
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.DoubleBuffer, true);
string[] coordinate;

List pt = new List();

while (!sr.EndOfStream)
{

coordinate = sr.ReadLine().Split(',');
x = Convert.ToInt32(coordinate[0]); // convertiamo in valori numerici interi, ma DrawLine accetta anche float
y = Convert.ToInt32(coordinate[1]); // convertiamo in valori numerici interi, ma DrawLine accetta anche float
PointF p = new PointF(x, y);
pt.Add(p);
}

// Get Points From Line(s)
float curDist = 0;
float distance = 0;
for (int i = 0; i < pt.Count - 1; i++)
{
PointF ptA = pt;
PointF ptB = pt[i + 1];
float deltaX = ptB.X - ptA.X;
float deltaY = ptB.Y - ptA.Y;
curDist = 0;
distance = (float)Math.Sqrt(Math.Pow(deltaX, 2) + Math.Pow(deltaY, 2));
while (curDist < distance)
{
curDist++;
float offsetX = (float)((double)curDist / (double)distance * (double)deltaX);
float offsetY = (float)((double)curDist / (double)distance * (double)deltaY);
PointList.Add(new PointF(ptA.X + offsetX, ptA.Y + offsetY));
}
}
}
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{


this.pictureBox1.Image = null;
Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);

Graphics g = Graphics.FromImage(bmp);

Pen redPen = new Pen(Color.Red, 1 / g.DpiX);
g.TranslateTransform(pictureBox1.Width / 5, pictureBox1.Height / 5);
g.PageUnit = GraphicsUnit.Pixel;
g.PageScale = 2.0F;
for (int i = 0; i < pointIndex; i++)
{
g.DrawLine(Pens.Black, PointList.X, PointList.Y, PointList[i + 1].X, PointList[i + 1].Y);
}
pictureBox1.Image = bmp;
}
}
}
-----------------
grazie.



Posts:435

--
29 gen 2010 20.58  
l'ultimo codice che ti ho incollato non da' nessun errore.
L'ho provato ptima di postarlo.

Ora cerca di capire quello che ho fatto e di adattarlo a quello che vuoi ottenere tu.

Se sei ancora in difficoltà scrivi...

HTH
Max.



Posts:90

--
29 gen 2010 21.19  
si sono ancora in difficolta, ma visual studio 2008 c# express ,
Mi dice sempre quell'errore lì.

strano se dici a te ti funziona non saprei capire come mai?

Mi protesti allegare il progetto.?

Grazie mille. e a te ti ringrazio moltissimo.



Posts:435

--
29 gen 2010 21.31  
ecco il mio progetto...

Max

Attachment: Streamreader.zip


Posts:90

--
29 gen 2010 21.40  
cacchio max , ti ci credo che mi dava errore:
perchè nel tuo c'è scritto cosi:

List pt = new List();

e nel mio come vedi sopra.

Ora provo se funziona



Posts:90

--
29 gen 2010 21.40  
List pt = new List ();



Posts:90

--
29 gen 2010 21.41  
ho scoperto perchè il forum taglia < point f >
prova a vedere incollare la riga che hai nel progetto e mettilo nel forum e vedi che taglia il forum

grazie mille.



Posts:435

--
29 gen 2010 22.29  
Ciao,
ho fatto la modifica minima al progeto del sito (che poi era la cosa piu semplice da fare). ;-)

Te lo allego, questo funziona alla perfezione.

Ciao.
Max.

Attachment: Tutorial5.zip


Posts:90

--
30 gen 2010 11.55  
ok, grazie ma avevo già modificato tutto come hai fatto te nel tutorial5

Grazie millle.

PS: ti sei accorto che il forum alcune parole le taglia ad es , se metti la riga di codice dove mi dava errore,
e copi quella che hai nel codice, leva i < point f > ?.

Mi spieghi il motivo di questo forum?

grazie mille.



Posts:90

--
01 feb 2010 21.47  
allora, ti chiedo un favore grande...

Mi protesti dire come far leggere le coordinate da un textbox chiamato txtInput.
dopo avere caricato il file pippo.txt e mettere le coordinate nella textbox input.
e da lì legge il valori e le simula quando faccio play?.

grazie,
mille



Posts:435

--
02 feb 2010 22.50  
Ti chiedo scusa, ma in questo ultimo messaggio non ho proprio capito cosa vuoi fare.

Max



Posts:90

--
03 feb 2010 21.28  
scusa, ma ho lasciato perdere...

Perchè non sono in grado di creare un'linguaggio da zero per i pantografi cnc.

Però lo riprendo quando avrò più possibilità di farlo.

comunque non fa nulla.

ciao, e grazie per l'aiuto.



Posts:90

--
04 feb 2010 21.26  
ok, riprendo questo mini progettino..

vorrei fare modo che una scelga il file dal menu File->Apri.
E il codice viene visualizzato in una textbox.

Dopo quando uno prova ad eseguire il codice invece di farlo dal file. Il programma lo legge in questo textbox,
ed esegue tutte le coordinate che trova in quell textbox,

Mi protesti se hai capito ora , allegare il progetto con la richiesta che ho fatto ora?

grazie.

Per domani ci sono verso le 10:00 alle 13:30 e dopo ci sono dopo le 19:00.

Sperò che ora hai capito.



Posts:662

--
05 feb 2010 09.17  
Per domani ci sono verso le 10:00 alle 13:30 e dopo ci sono dopo le 19:00.

Sperò che ora hai capito.
Gigi, sarebbe opportuno cercare di usare dei toni un po' meno "lavorativi". Le persone che aiutano sui forum lo fanno nella loro più completa autonomia, mettendo a disposizione il loro tempo per puro spirito di collaborazione e nessuno, dico nessuno, è obbligato nè a rispondere nè a trovare per forza delle soluzioni. Le community servono per dare un indirizzo sulle tecniche di programmazione, un orientamento su quelli che sono i possibili scenari ma mai devono e possono sostituirsi al bagaglio di conoscenze che un programmatore deve avere per potersi definire tale. Possono integrarlo, arricchirlo, stimolare le persone a battere nuove strade e per questo sono utili, ma personalmente non affiderei mai il mio lavoro esclusivamente ai consigli che posso trovare su una Community. Capisco che in molte occasioni il non trovare soluzioni possa provocare un po' di frustrazione e malcontento e che alla fine si entra talmente tanto in confidenza con il problema che anche le persone che ci possono aiutare vengono viste un po' come il collega della scrivania accanto, quindi, talvolta, prima di postare sarebbe più corretto rileggere ciò che si scrive e domandarsi se quanto sto per inviare sia anche formalmente corretto.
Io avrei scritto lo stesso concetto con frasi un po' più adeguate del tipo:
Grazie Max per l'aiuto che mi dai, sono entrato in un circolo vizioso e trovo difficoltà, senza esempi, a risolvere il problema che ho scritto. Tutto questo è ulteriormente limitato anche perchè per motivi (? personali, di lavoro, ecc...) sono presente davanti al PC solo in determinati orari, tipo domani dalle 10.00 alle 13.30 e dopo le 19.00. Sperando di averti chiarito bene i miei dubbi (in caso contrario chiedimi pure delucidazioni), non vedo l'ora di leggere la tua risposta. Grazie ancora....
Sicuramente avresti detto le stesse cose e avresti aiutato Max ad aiutarti ancora meglio.
HTH
Alberto.



Posts:90

--
11 feb 2010 14.53  
Salve, si hai ragione...Alberto.
Solo che scrivevo di fretta..
---------------------------------------
Mi spiego meglio volevo fare che quando uno deve aprire un file viene la finestra openfiledialog.

e il codice che c'è dentro il file . lo mettesse in un textbox, ed dopo lo esegue con il tasto play del programma.

Sperò di essermi spiegato bene.

Grazie Alberto e Max.



Posts:435

--
12 feb 2010 16.03  
In tal caso le modifche da fare sono poche:

1) inserire un dialog Openfile.
2) controllare il risultato del dialog, se annulla non fai iente, altrimenti passi il nome file alla procedura che legge il file txt (che abbiamo gia visto).
3) una volta che hai letto il file txt invece di processarlo "al volo" scrivi il contenuto in una textbox multiline che visualizzi sulla form.
4) alla pressione del tasto "play" esegui la procedura di disegno (che abbiamo visto gia' a posto) ma invece di leggere una collezione di oggetti (o array che sia) legge le righe della textbox.

comincia a fare questi punti e vediamo che problemi incontri.

HTH
Max.


Non sei autorizzato ad inviare una risposta.
Page 1 di 212 > >>


Active Forums 4.1
       
Articoli
Ereditarietà applicata ai controlli
Creazione di una combobox che mostra immagini al posto del testo
2008/07/06 | Autore: Andrea Zingoni
Codedom Introduzione all'uso parte 1
Generare automaticamente codice C# o VB usando CodeDom ed il framework .NET stesso
2009/11/07 | Autore: Sabrina Cosolo
Unit Testing del codice (parte 1)
Le basi per la costruzione di test per rendere più solido il nostro codice
2007/12/26 | Autore: Sabrina Cosolo
Installer Utility - Utilizzare le Azioni Personalizzate
Come creare automaticamente il DataBase durante il processo di installazione
2007/08/14 | Autore: Alberto De luca
SQL Server 2000/2005 Manutenzione Database
Uso di DBCC ShowContig e di sys.dm_db_index_physical_stats
2007/08/05 | Autore: Sabrina Cosolo
Autenticazione ASP.NET
Come funziona la configurazione dell'autenticazione ASP.NET? Scopriamolo tramite alcuni test.
2007/08/09 | Autore: Rudy Azzan
SQL Server Nozioni base (parte 1)
Come creare un database in SQL Server Usando Sql Management Studio
2008/03/09 | Autore: Sabrina Cosolo
L'Albero degli elementi
Come iniziare a capire com'è fatto WPF (parte 3)
2007/08/13 | Autore: Patrizia Cosolo
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.