Edytor plików binarnych

0

Próbuję napisać program do edycji plików binarnych który będzie miał bardzo dużo wybieranych opcji po wczytaniu pliki binarnego nawet kilkaset
Pisanie tego w sposób jak poniżej w jednym oknie, mija się z celem ponieważ na liście z czasem mogę mieć 200 lub 300 metod. Dla niektórych plików może się okazać ze będzie używana np ta sama metoda.
NP seria laptopów HP ma różny numer model a bios jest ten sam i dla tych laptopów używamy METODY 10
Czyli wygląda to tak
Jest przycisk który wczytuje plik z dysku, po wczytaniu z rozwijanej listy wybieram metodę , i klikam przycisk modyfikuj aby wykonać operacje i zapisać plik .



if (listBox1.SelectedItem.Equals("METODA1"))

                {

                    for (int i = 0; i < streamReader.Length; i++)

                    {

                        if (i > 17 && i < 32)

                            {

                            streamReader2.WriteByte(255);

                            streamReader.ReadByte();

                        }


                        else if (i > 40 && i <50)

                        {

                            streamReader2.WriteByte(255);

                            streamReader.ReadByte();

                        }

                        else if (i > 335 && i < 352)

                        {

                            streamReader2.WriteByte(255);

                            streamReader.ReadByte();

                        }


0

A jakie jest pytanie?

0
a_s_f napisał(a):

A jakie jest pytanie?

Jak przenieść takie metody do jakiegoś pliku nagłówkowego. Lub jak to inaczej rozwiązać

0

Nie wiem dokładnie o co Ci chodzi. Ale ja bym posłużył się bardziej czymś w rodzaju wzorca Polecenie (Command). Masz klasę do polecenia, listę wypełniasz poszczególnymi obiektami tej klasy (oczywiście klasa musi mieć przesłonięty ToString()), a potem po wyborze elementu robisz execute. Coś w ten deseń:

public class Method10Command: BaseCommand
{
  public override void Execute()
  {
      //tutaj ciało polecenia
  }

  public override string ToString()
  {
    return "Method 10";
  }
}

A potem w jakiś sposób wypełniasz listę List<BaseCommand> za pomocą tych wszystkich obiektów (to może być nawet refleksja). ListBox przechowuje te obiekty, a potem po clicku, czy coś:

BaseCommand cmd = listBox.SelectedItem as BaseCommand;
if(cmd != null)
  cmd.Execute();

Takie rozwiązanie daje Ci mnóstwo możliwości i jest stosunkowo proste w implementacji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1