|
|
|
สอบถามเรื่องการ replace ข้อมูลลงไปใน textfile อะครับ พอดี มันไม่ยอมเข้าไปในตำแหน่งที่ผมเขียนไว้ |
|
|
|
|
|
|
|
Code (C#)
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Globalization;
namespace ExcellenceSportHH
{
public partial class frmCheckingSheet : Form
{
public frmCheckingSheet()
{
InitializeComponent();
}
private string _ValueLocationID;
private string _ValueNameCheck;
public string ValueLocationID
{
get
{
return this._ValueLocationID;
}
set
{
this._ValueLocationID = value;
}
}
public string ValueNameCheck
{
get
{
return this._ValueNameCheck;
}
set
{
this._ValueNameCheck = value;
}
}
public void LoadInfor()
{
StreamReader sr = new StreamReader("\\Program Files\\ExcellenceSportHH\\CheckStock.txt");
string[] split = new string[11];
split = sr.ReadLine().Split(',');
txtbarcode.Focus();
}
public void btnSave_Click(object sender, EventArgs e)
{
try
{
if (txtbarcode.Text == "")
{
MessageBox.Show("Input your Barcode");
txtbarcode.Focus();
}
if (txtbarcode.Text != "")
{
//StreamReader sr = new StreamReader("\\Program Files\\ExcellenceSportHH\\CheckStock.txt");
try
{
StreamReader sr = new StreamReader("\\Program Files\\ExcellenceSportHH\\CheckStock.txt");
do while (sr.Peek() > -1)
{
string[] split = new string[11];
split = sr.ReadLine().Split(',');
List<string> updateLines = new List<string>();
foreach (var line in sr.ReadLine())
{
if (split[0] == txtbarcode.Text)
{
//update value จะให้ข้อมูลไปใส่แทนที่ในที่ครับ
split[8] = (int.Parse(split[8]) + 1).ToString();
split[9] = _ValueNameCheck;
split[10] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
}
sr.Close();
แล้วค่ามันไม่ยอม update
updateLines.Add(string.Join(",", split));
sr.Close();
}
} while (sr.ReadLine() != null);
sr.Close();
}
catch (Exception ex) { MessageBox.Show(ex.ToString()); }
MessageBox.Show("Complete...");
txtbarcode.Text = "";
txtVN.Text = "";
txtColor.Text = "";
txtSize.Text = "";
txtStyle.Text = "";
txtCollection.Text = "";
txtPrice.Text = "";
txtQtyAll.Text = "";
txtbarcode.Focus();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void mnuLogout_Click(object sender, EventArgs e)
{
frmLogin backward = new frmLogin();
backward.Show();
this.Close();
}
private void txtbarcode_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (txtbarcode.Text != "")
{
string[] split = new string[11];
//StreamReader sr = new StreamReader("\\Program Files\\CCL_ExcellenceSport\\CheckStock.txt");
StreamReader sr = new StreamReader("\\Program Files\\ExcellenceSportHH\\CheckStock.txt");
try
{
do while (sr.Peek() > -1 )
{
split = sr.ReadLine().Split(',');
string barcode = split[0];
if (string.Compare(barcode, txtbarcode.Text.Trim(), true) == 0)
{
//txtbarcode.Text = Barcode;
txtVN.Text = split[1];
txtStyle.Text = split[2];
txtColor.Text = split[3];
txtSize.Text = split[4];
txtPrice.Text = split[5];
txtCollection.Text = split[6];
txtQtyAll.Text = split[7];
btnSave.Focus();
}
} while (sr.ReadLine() != null);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
else
{
MessageBox.Show("Not found this barcode, Plese check again!!");
txtbarcode.Focus();
txtbarcode.SelectAll();
}
}
}
private void mnuReport_Click(object sender, EventArgs e)
{
frmReport Nextpage = new frmReport();
Nextpage.LocationCode = this._ValueLocationID;
Nextpage.Show();
this.Hide();
}
private void mnuExit_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void frmCheckingSheet_Load(object sender, EventArgs e)
{
CultureInfo us = System.Globalization.CultureInfo.GetCultureInfo("en-US");
}
}
}
Tag : .NET, C#, VS 2008 (.NET 3.x)
|
|
|
|
|
|
Date :
2015-02-18 14:05:19 |
By :
omyam001 |
View :
886 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเป็น text file ผมทำคล้ายๆกะบ ini ไฟล์ครับ
ลองเอาไปเล่นดูว่าได้รึป่าวนะครับ
Code (C#)
public static class clsINI
{
[DllImport("kernel32.dll", EntryPoint = "GetPrivateProfileStringA", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
private static extern int GetPrivateProfileString(string lpApplicationName, string lpKeyName, string lpDefault, global::System.Text.StringBuilder lpReturnedString, int nSize, string lpFileName);
[DllImport("kernel32.dll", EntryPoint = "WritePrivateProfileStringA", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
private static extern int WritePrivateProfileString(string lpApplicationName, string lpKeyName, string lpString, string lpFileName);
public static string ReadValue(string Path, string section, string key)
{
global::System.Text.StringBuilder sb = new global::System.Text.StringBuilder(255);
dynamic i = GetPrivateProfileString(section, key, "", sb, 255, Path);
return sb.ToString();
}
public static void WriteValue(string Path, string section, string key, string value) { WritePrivateProfileString(section, key, value, Path); }
public static string textFileReader(string pathFileName)
{
string line;
StreamReader fs;
try
{
fs = new StreamReader(pathFileName);
line = fs.ReadToEnd();
/* อ่าน Encode จาก String ที่อ่านมาได้จาก text file */
Encoding encodeSource = Encoding.GetEncoding(fs.CurrentEncoding.CodePage);
fs.Close();
//* ............ */
Encoding systemEncode = Encoding.Default;
Encoding targetEncode = encodeSource;
/* สั่ง getbyte array จาก string ที่เราอ่านมา */
byte[] srcData = systemEncode.GetBytes( line );
byte[] dstData;
/* ถ้าเป้น Encode ต่างกัน windows และ text file ให้ Convert byte array ไปเป็น text file encode */
if( targetEncode != systemEncode )
dstData = Encoding.Convert( systemEncode, targetEncode, srcData );
else
dstData = srcData;
/* convert bytearray ไปเป็น string ด้วย text file encode */
return targetEncode.GetString(dstData);
}
catch(Exception ex)
{
throw new IOException("cannot find " + pathFileName,ex);
}
}
public static System.Collections.Generic.List<string> textFileReaderFormline(string pathFileName)
{
System.Collections.Generic.List<string> list = new System.Collections.Generic.List<string>();
System.IO.StreamReader fs;
fs = new System.IO.StreamReader(pathFileName, System.Text.Encoding.GetEncoding(874));
string line;
while ((line = fs.ReadLine()) != null)
{
list.Add(line);
}
return list;
}
}
|
|
|
|
|
Date :
2015-02-18 14:27:03 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ของผมทำเป็น Smart device นะครับ พอดีลืมบอกไปครับ ติดปัญหา แค่ แทนที่ทำเดิมใน text ไม่ได้ แค่นั้นเองครับ รบกวนช่วยหน่อบนะครับ
|
|
|
|
|
Date :
2015-02-18 17:08:44 |
By :
omyam001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่ผมดู code ผมยังไม่เห็น Code ที่จะใช้เขียนข้อมูลลง textfile เลยนะคับ พวก streamwriter เห็นแต่ streamreader
มันก็น่าจะไม่มีอะไรลง text file
ที่เห็นมีแต่การเก็บข้อมูลลง array
ผิดพลาดขออภัย คับผม
|
|
|
|
|
Date :
2015-02-19 08:54:10 |
By :
poomberry |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|