private void KeyCode(Keys keys) { switch (keys) { case Keys.PageDown: Position = Convertir.DecimalToHexa(Convertir.HexaToDecimal(this._CurrentPosition) + (this._ColumnSize * this._TotalLine)); break; case Keys.PageUp: if (Position != "0") { if (Convertir.HexaToDecimal(this._CurrentPosition) > (this._ColumnSize * this._TotalLine)) { Position = Convertir.DecimalToHexa(Convertir.HexaToDecimal(this._CurrentPosition) - (this._ColumnSize * this._TotalLine)); } else { Position = "0"; } } break; case Keys.Home: Position = "0"; break; case Keys.End: Position = Convertir.DecimalToHexa(this.sbValue.Maximum); break; } }
private void sbValue_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e) { if (this._isLoaded) { this._CurrentPosition = Convertir.DecimalToHexa(sbValue.Value); LoadPosition(this._CurrentPosition); } }
private void HexaTextBox_Leave(object sender, System.EventArgs e) { //Verifie si le total est superieurs ou inferieux au limite du control long val = Convertir.HexaToDecimal(HexaBox.Text); if (val > this._maxValue) { HexaBox.Text = Convertir.DecimalToHexa(this._maxValue); } if (val < this._minValue) { HexaBox.Text = Convertir.DecimalToHexa(this._minValue); } }
/// <summary> /// Decode l'entrée suivant les propriétés de l'objet /// </summary> public void Decode() { string DataBrut = ExtractData.AspireString(PositionHexa, Convertir.DecimalToHexa(this._position + this._length - 1), this._file, true); string[] Data = Convertir.StringHexa_LittleEndian(DataBrut, true).Trim().Split(new char[] { ' ' }); string DecodedDTE = ""; string Find = ""; for (int i = 0; i < Data.Length; i++) { Find = this._tbl.FindTBLMatch(Data[i], true); if (Find == "#") { DecodedDTE += "<" + Data[i] + ">"; } else { DecodedDTE += Find; } } txtValue.Text = DecodedDTE.TrimEnd(' '); }
private void Control_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e) { if (this._isLoaded) { if (e.Delta > 0) { if (Position != "0") { if (Convertir.HexaToDecimal(this._CurrentPosition) > this._ColumnSize) { Position = Convertir.DecimalToHexa(Convertir.HexaToDecimal(this._CurrentPosition) - this._ColumnSize); } else { Position = "0"; } } } else { Position = Convertir.DecimalToHexa(Convertir.HexaToDecimal(this._CurrentPosition) + this._ColumnSize); } } }
private void button2_Click(object sender, System.EventArgs e) { textBox1.Text = Convertir.DecimalToHexa(10); }
public static string AspireString(string FileName) { FileInfo info = new FileInfo(FileName); return(AspireString("0", Convertir.DecimalToHexa(info.Length), FileName)); }
private void ExtractString(int MinTaille, long StartPos, long StopPos, short Performance, string FindString) { if (File.Exists(this._FileName)) { if (File.Exists(tblCombo1.SelectedItem.Tag.ToString())) { //Vide la liste de rechercher lvFind.Items.Clear(); //Ouverture du fichier FileInfo info = new FileInfo(this._FileName); HexEdit.Load(ref this._FileName, (int)info.Length); TBLStream tbl = new TBLStream(tblCombo1.SelectedItem.Tag.ToString()); tbl.Load(); int ChunkSize = Performance * 10000; long DataLen = StopPos - StartPos; if (DataLen > 0) { int i = (int)StartPos; pb.Maximum = (int)DataLen; string buffer = ""; string[] bufferSplittedHexa; string dte = ""; string str = ""; long StrPos = 0; //Commancement de la recherche des chaine do { if (this._Cancel) { break; } buffer = HexEdit.GetDataChunk(i); bufferSplittedHexa = Convertir.StringHexa_LittleEndian(buffer, true).Trim().Split(new char[] { ' ' }); for (int j = 0; j < bufferSplittedHexa.Length; j++) { dte = tbl.FindTBLMatch(bufferSplittedHexa[j]); if (dte != "#") { str += dte; } else { if (str.IndexOf(FindString, 0) != -1) { if (str.Length >= MinTaille) { ListViewItem item = new ListViewItem(Convertir.DecimalToHexa(StrPos)); item.SubItems.Add(str); lvFind.Items.Add(item); } } str = ""; StrPos = i + j + 1; } if ((i + j) > DataLen) { break; } if (j % 10000 == 0) { pb.Value = i + j; } } //Assignation i += ChunkSize; }while(i < DataLen); //Reinitialise a 0 this.pb.Value = 0; this._Cancel = false; tbButtonFind.Enabled = true; tblButtonStop.Enabled = false; panelParam.Enabled = true; if (lvFind.Items.Count == 0) { MessageBox.Show(this, this._String_NoItemFound, "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show(this, lvFind.Items.Count + " " + this._String_TotalItem, "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); } } // Datalen > 0 } // TBL } //Filename }
private void LoadPosition(string Position) { try { //Preparation de la fonctions long StartPos = Convertir.HexaToDecimal(Position); long hauteur = this.Font.Height; this._TotalLine = picAdresse.Height / hauteur; //Total de ligne a charger long DataLenght = this._TotalLine * _ColumnSize; string EndPos = Convertir.DecimalToHexa((StartPos + DataLenght) - 1); htbPosition.HexaValue = Position; dtbPosition.Valeur = htbPosition.DecimalValue; sbValue.Value = (int)Convertir.HexaToDecimal(Position); //Verifie que l'adresse de fin est bien au maximum de la fin if (Convertir.HexaToDecimal(EndPos) > this._FileLen) { EndPos = Convertir.DecimalToHexa(this._FileLen); } //Extraction des données et preparation avant de les dessiners string DataBrut = ExtractData.AspireString(Position, EndPos, this._FileName, true); string DataView = ExtractData.AspireString(Position, EndPos, this._FileName, false); string[] Data = Convertir.StringHexa_LittleEndian(DataBrut, true).Trim().Split(new char[] { ' ' }); string[] Adresse = new string[this._TotalLine]; if (!this._DecimalMode) { //Creation des chaines de position en hexadecimale long tempPos = StartPos; Adresse[0] = String.Format("{0, 8:0}", Convertir.DecimalToHexa(tempPos)); //Premiere position Adresse[0] = Adresse[0].Replace(' ', '0'); for (int i = 1; i < Adresse.Length; i++) { tempPos += _ColumnSize; Adresse[i] = String.Format("{0, 8:0}", Convertir.DecimalToHexa(tempPos)); //String.Format() Adresse[i] = Adresse[i].Replace(' ', '0'); } } else { //Creation des chaines de en decimale long tempPos = StartPos; Adresse[0] = String.Format("{0, 8:0}", tempPos); //Premiere position Adresse[0] = Adresse[0].Replace(' ', '0'); for (int i = 1; i < Adresse.Length; i++) { tempPos += _ColumnSize; Adresse[i] = String.Format("{0, 8:0}", tempPos); //String.Format() Adresse[i] = Adresse[i].Replace(' ', '0'); } } //Dessiner les position Graphics gfxAdresse = picAdresse.CreateGraphics(); gfxAdresse.CompositingQuality = CompositingQuality.HighSpeed; gfxAdresse.Clear(Color.Gray); PointF ptAdr = new PointF(0, 0); for (int i = 0; i < Adresse.Length; i++) { gfxAdresse.DrawString(Adresse[i], this.Font, Brushes.White, ptAdr, StringFormat.GenericDefault); ptAdr.Y += this.Font.Height; } //Dessiner le Data Graphics gfxData = picData.CreateGraphics(); gfxData.CompositingQuality = CompositingQuality.HighSpeed; gfxData.Clear(Color.White); PointF ptData = new PointF(0, 0); int cnt = 0; for (int i = 0; i < Adresse.Length; i++) { for (int j = 0; j < _ColumnSize; j++) { if (cnt % 2 == 0) { gfxData.DrawString(Data[cnt] + " ", this.Font, Brushes.Black, ptData, StringFormat.GenericDefault); } else { gfxData.DrawString(Data[cnt] + " ", this.Font, Brushes.Blue, ptData, StringFormat.GenericDefault); } ptData.X += 20; cnt++; } ptData.X = 0; ptData.Y += this.Font.Height; } //Affiche le Data en fonction de la TBL ou non if (this.UseTBL) { if (this._ShowColor) { DrawTBLDataColorDTE(Data, Adresse.Length); } else { DrawTBLData(Data, Adresse.Length); } } else { DrawSimpleData(DataView, Adresse.Length); } } catch { } }