Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,560
Default Read/edit/write from/to files

Hello everbody,
I know C++, so below is a code I wrote that opens/reads a file and looks for
certain character and writes into another file all X and Y coordinates of a
pecific character.

I would like to build a matrix using VB:
I need help on how to open and read a text file(read every character in
file), then create a matrix and insert everyone of those characters into a
table (matrix) in VB.

Could anybody help with this.
int main()
{
FILE *infile, *InkLocsFile;
char line[MAXLINE]={0}; //wmapBitLoc[rows][cols]
int n=0,i=0,j=0, flag=0, cl=0,Ink=0, rw = -1;

infile = fopen("wmap.txt", "r"); //open fail file for reading and writing
if (infile == NULL)
{
printf("\nError (Error opening wmap file): %s file failed to
open.\n",infile);
exit(0);
}//end if


InkLocsFile = fopen("InkLocsFile.txt", "w");
fprintf (InkLocsFile, "RowLoc ColLoc \n");
fprintf (InkLocsFile, "----- ------ \n");

while ( (fgets (line,sizeof(line),infile) != NULL))
{
rw +=1;
// if (strstr(line))
// {
for (n=0; n<MAXLINE; n++)
{
if (line[n] == 48)
{
cl =n;
fprintf (InkLocsFile, "%2d %10d \n",rw, cl);
}//end if (line[n] == 0)

}// end for

// }//end if strstr()

}//end While
fclose (infile);
fclose (InkLocsFile);
return 0;
}//end main()
C++ code:



  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,560
Default Read/edit/write from/to files

Hi,
I got an answer to a big part of my question the following vb code which
reads a file, line by line and outputs line into a message box.
How can I access single characters in this array line. in c++ I would do
line[0] and access the first char and so on.
Could anybody help?

Private Sub Command1_Click()
Dim lngIndex As Long
Dim intFile As Integer
'file identification number
Dim strFile As String
'filename
Dim strData As String
'string to contain complete file
Dim strLine() As String
'array to contain each line
Dim intChoice As Integer
'user selection in msgbox
intFile = FreeFile
'unique file identification number
strFile = "c:\temp\myfile.txt"
'filename to read
Open strFile For Input As #intFile
'open file to read
strData = Input(Lof(intFile), #intFile)
'read in complete file
Close #intFile
'close file
strLine = Split(strData, vbCrLf)
'split total data into array of line
For lngIndex = 0 To UBound(strLine)
'loop through all lines (array)
intChoice = MsgBox(strLine(lngIndex), vbOKCancel, "Line: " &
CStr(lngIndex)) 'show each line
If intChoice = vbCancel Then Exit For
'select 'cancel' to jump out of loop
Next lngIndex
End sub

"David" wrote:

Hello everbody,
I know C++, so below is a code I wrote that opens/reads a file and looks for
certain character and writes into another file all X and Y coordinates of a
pecific character.

I would like to build a matrix using VB:
I need help on how to open and read a text file(read every character in
file), then create a matrix and insert everyone of those characters into a
table (matrix) in VB.

Could anybody help with this.
int main()
{
FILE *infile, *InkLocsFile;
char line[MAXLINE]={0}; //wmapBitLoc[rows][cols]
int n=0,i=0,j=0, flag=0, cl=0,Ink=0, rw = -1;

infile = fopen("wmap.txt", "r"); //open fail file for reading and writing
if (infile == NULL)
{
printf("\nError (Error opening wmap file): %s file failed to
open.\n",infile);
exit(0);
}//end if


InkLocsFile = fopen("InkLocsFile.txt", "w");
fprintf (InkLocsFile, "RowLoc ColLoc \n");
fprintf (InkLocsFile, "----- ------ \n");

while ( (fgets (line,sizeof(line),infile) != NULL))
{
rw +=1;
// if (strstr(line))
// {
for (n=0; n<MAXLINE; n++)
{
if (line[n] == 48)
{
cl =n;
fprintf (InkLocsFile, "%2d %10d \n",rw, cl);
}//end if (line[n] == 0)

}// end for

// }//end if strstr()

}//end While
fclose (infile);
fclose (InkLocsFile);
return 0;
}//end main()
C++ code:



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Read/edit/write from/to files

I think you want to take a look at mid(). You may want to review left(),
right() and other string functions, too.

dim cCtr as long

For lngIndex = 0 To UBound(strLine)
for cctr = 1 to len(strline(lngindex))
if mid(strline(lngindex),cctr,1) = "A" then
msgbox "Found an Upper A"
end if
next cCtr
......
Next lngIndex

David wrote:

Hi,
I got an answer to a big part of my question the following vb code which
reads a file, line by line and outputs line into a message box.
How can I access single characters in this array line. in c++ I would do
line[0] and access the first char and so on.
Could anybody help?

Private Sub Command1_Click()
Dim lngIndex As Long
Dim intFile As Integer
'file identification number
Dim strFile As String
'filename
Dim strData As String
'string to contain complete file
Dim strLine() As String
'array to contain each line
Dim intChoice As Integer
'user selection in msgbox
intFile = FreeFile
'unique file identification number
strFile = "c:\temp\myfile.txt"
'filename to read
Open strFile For Input As #intFile
'open file to read
strData = Input(Lof(intFile), #intFile)
'read in complete file
Close #intFile
'close file
strLine = Split(strData, vbCrLf)
'split total data into array of line
For lngIndex = 0 To UBound(strLine)
'loop through all lines (array)
intChoice = MsgBox(strLine(lngIndex), vbOKCancel, "Line: " &
CStr(lngIndex)) 'show each line
If intChoice = vbCancel Then Exit For
'select 'cancel' to jump out of loop
Next lngIndex
End sub

"David" wrote:

Hello everbody,
I know C++, so below is a code I wrote that opens/reads a file and looks for
certain character and writes into another file all X and Y coordinates of a
pecific character.

I would like to build a matrix using VB:
I need help on how to open and read a text file(read every character in
file), then create a matrix and insert everyone of those characters into a
table (matrix) in VB.

Could anybody help with this.
int main()
{
FILE *infile, *InkLocsFile;
char line[MAXLINE]={0}; //wmapBitLoc[rows][cols]
int n=0,i=0,j=0, flag=0, cl=0,Ink=0, rw = -1;

infile = fopen("wmap.txt", "r"); //open fail file for reading and writing
if (infile == NULL)
{
printf("\nError (Error opening wmap file): %s file failed to
open.\n",infile);
exit(0);
}//end if


InkLocsFile = fopen("InkLocsFile.txt", "w");
fprintf (InkLocsFile, "RowLoc ColLoc \n");
fprintf (InkLocsFile, "----- ------ \n");

while ( (fgets (line,sizeof(line),infile) != NULL))
{
rw +=1;
// if (strstr(line))
// {
for (n=0; n<MAXLINE; n++)
{
if (line[n] == 48)
{
cl =n;
fprintf (InkLocsFile, "%2d %10d \n",rw, cl);
}//end if (line[n] == 0)

}// end for

// }//end if strstr()

}//end While
fclose (infile);
fclose (InkLocsFile);
return 0;
}//end main()
C++ code:




--

Dave Peterson
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,560
Default Read/edit/write from/to files

Thanks dave,
This helped me go one step further.
This is the code I have so far.
I am reading characters from file, bulding a matrix and I am trying to
insert the char I am reading into the matrix (cells). Can you help with this
syntax
--------------------------------------------------
grille2.Cell.... = X ' This is the syntax I need help with
???
' Trying to insert char into all
cells
--------------------------------------


Private Sub Command1_Click()
Dim lngIndex As Long
Dim intFile As Integer
'file identification number
Dim strFile As String
'filename
Dim strData As String
'string to contain complete file
Dim strLine() As String
'array to contain each line
Dim intChoice As Integer
'user selection in msgbox
Dim cCtr As Long

grille2.Height = 6000
grille2.Width = 6000
Dim NumbCol As Integer
NumbCol = grille2.Height \ 20 ' set nbre of cols
Dim NumbRow As Integer
NumbRow = grille2.Height \ 20 ' set nbre of rows
'unique file
identification number
strFile = "c:\wmap.txt"
'filename to read
grille2.Cols = NumbCol
grille2.Rows = NumbRow
For i = 0 To grille2.Cols - 1
grille2.ColWidth(i) = grille2.Width / 100 ' Set the width of each col
Next i
For j = 0 To grille2.Rows - 1
grille2.RowHeight(j) = grille2.Height / 100 ' Set the height of each
row
Next j
intFile = FreeFile
strFile = "c:\wmap.txt"
Open strFile For Input As #intFile
'open file to read
strData = Input(LOF(intFile), #intFile)
'read in complete file
Close #intFile
'close file
strLine = Split(strData, vbCrLf)
'split total data into array of line
For lngIndex = 0 To UBound(strLine)
'loop through all lines (array)
For cCtr = 1 To Len(strLine(lngIndex))
' If Mid(strLine(lngIndex), cCtr, 1) = "X" Then
Mid(strLine(lngIndex), cCtr, 1) = "X"
grille2.Row = lngIndex
grille2.Col = cCtr
-------------------------------------
grille2.Cell.... = X ' This is the syntax I need help with
grille2.CellBackColor = vbRed ' I will insert other if
statments
--------------------------------------
' intChoice = MsgBox(strLine(lngIndex), vbOKCancel, "Line: "
& CStr(lngIndex)) 'show each line
' MsgBox "Found an Upper X"
' End If
Next cCtr

' intChoice = MsgBox(strLine(lngIndex), vbOKCancel, "Line: " &
CStr(lngIndex)) 'show each line
If intChoice = vbCancel Then Exit For
'select 'cancel' to jump out of loop
Next lngIndex

End Sub

"Dave Peterson" wrote:

I think you want to take a look at mid(). You may want to review left(),
right() and other string functions, too.

dim cCtr as long

For lngIndex = 0 To UBound(strLine)
for cctr = 1 to len(strline(lngindex))
if mid(strline(lngindex),cctr,1) = "A" then
msgbox "Found an Upper A"
end if
next cCtr
......
Next lngIndex

David wrote:

Hi,
I got an answer to a big part of my question the following vb code which
reads a file, line by line and outputs line into a message box.
How can I access single characters in this array line. in c++ I would do
line[0] and access the first char and so on.
Could anybody help?

Private Sub Command1_Click()
Dim lngIndex As Long
Dim intFile As Integer
'file identification number
Dim strFile As String
'filename
Dim strData As String
'string to contain complete file
Dim strLine() As String
'array to contain each line
Dim intChoice As Integer
'user selection in msgbox
intFile = FreeFile
'unique file identification number
strFile = "c:\temp\myfile.txt"
'filename to read
Open strFile For Input As #intFile
'open file to read
strData = Input(Lof(intFile), #intFile)
'read in complete file
Close #intFile
'close file
strLine = Split(strData, vbCrLf)
'split total data into array of line
For lngIndex = 0 To UBound(strLine)
'loop through all lines (array)
intChoice = MsgBox(strLine(lngIndex), vbOKCancel, "Line: " &
CStr(lngIndex)) 'show each line
If intChoice = vbCancel Then Exit For
'select 'cancel' to jump out of loop
Next lngIndex
End sub

"David" wrote:

Hello everbody,
I know C++, so below is a code I wrote that opens/reads a file and looks for
certain character and writes into another file all X and Y coordinates of a
pecific character.

I would like to build a matrix using VB:
I need help on how to open and read a text file(read every character in
file), then create a matrix and insert everyone of those characters into a
table (matrix) in VB.

Could anybody help with this.
int main()
{
FILE *infile, *InkLocsFile;
char line[MAXLINE]={0}; //wmapBitLoc[rows][cols]
int n=0,i=0,j=0, flag=0, cl=0,Ink=0, rw = -1;

infile = fopen("wmap.txt", "r"); //open fail file for reading and writing
if (infile == NULL)
{
printf("\nError (Error opening wmap file): %s file failed to
open.\n",infile);
exit(0);
}//end if


InkLocsFile = fopen("InkLocsFile.txt", "w");
fprintf (InkLocsFile, "RowLoc ColLoc \n");
fprintf (InkLocsFile, "----- ------ \n");

while ( (fgets (line,sizeof(line),infile) != NULL))
{
rw +=1;
// if (strstr(line))
// {
for (n=0; n<MAXLINE; n++)
{
if (line[n] == 48)
{
cl =n;
fprintf (InkLocsFile, "%2d %10d \n",rw, cl);
}//end if (line[n] == 0)

}// end for

// }//end if strstr()

}//end While
fclose (infile);
fclose (InkLocsFile);
return 0;
}//end main()
C++ code:




--

Dave Peterson

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Saving Excel files to Read/Write only folders vteventrider Excel Discussion (Misc queries) 1 September 5th 07 08:31 PM
I have a read only xl file, I need it to be read and write drama queen Excel Discussion (Misc queries) 3 July 1st 06 12:25 AM
Sharing read-write Excel 2003 files ttt8262 Excel Discussion (Misc queries) 0 April 1st 06 09:39 PM
How can a file be converted from Read-Only to Read/Write Jim in Apopka Excel Discussion (Misc queries) 2 November 19th 05 04:59 PM
Read/Write data to/from text files from a spreadsheet. lothario[_37_] Excel Programming 8 November 2nd 03 03:10 PM


All times are GMT +1. The time now is 10:29 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"