Spla.shy
Picopat
- Katılım
- 21 Temmuz 2023
- Mesajlar
- 44
- Çözümler
- 1
Daha fazla
- Cinsiyet
- Erkek
Cosmos ile işletim sistemi yapmaya çalışan oldu mu? Ben daha bugün başladım. Pek bir bilgim yok ama yapay zeka yardımı ile yapmaya çalıştım. Fakat dosyalama sisteminde yapay zekanın önerdiği kodlar çalışmadı. Kendimde düzenleyemedim. Cosmos kodlarını bir türlü derleyemedim. Ve dahası grafik sürücüsü de yapmam gerekiyor. Bu konulara ilgisi olan, bu konularda bilgili birileri bana yardım edebilir mi?
Yapay zekanın kodları:
Yapay zekanın kodları:
C#:
using System;
using System.Collections.Generic;
using Cosmos.System.Filesystem;
namespace MyOS
{
public static class FileSystem
{
private static Dictionary<string, string> files = new Dictionary<string, string>();
private static readonly string DiskFileName = "MyOSDisk.txt";
public static void Initialize()
{
if (File.Exists(DiskFileName))
{
string[] lines = File.ReadAllLines(DiskFileName);
foreach (string line in lines)
{
int separatorIndex = line.IndexOf(":");
if (separatorIndex != -1)
{
string filePath = line.Substring(0, separatorIndex);
string fileContent = line.Substring(separatorIndex + 1);
files.Add(filePath, fileContent);
}
}
}
}
public static void CreateFile(string filePath, string content)
{
files.Add(filePath, content);
SaveToDisk(filePath, content);
}
public static bool FileExists(string filePath)
{
return files.ContainsKey(filePath);
}
public static string ReadFile(string filePath)
{
if (Cache.IsCached(filePath))
{
return Cache.GetDataFromCache(filePath);
}
if (files.TryGetValue(filePath, out string content))
{
Cache.AddToCache(filePath, content);
return content;
}
return "File not found.";
}
public static void WriteFile(string filePath, string newContent)
{
if (FileExists(filePath))
{
files[filePath] = newContent;
Cache.AddToCache(filePath, newContent);
SaveToDisk(filePath, newContent);
}
}
private static void SaveToDisk(string filePath, string content)
{
if (File.Exists(DiskFileName))
{
string fileData = filePath + ":" + content;
File.AppendAllText(DiskFileName, fileData + Environment.NewLine);
}
else
{
File.WriteAllText(DiskFileName, filePath + ":" + content + Environment.NewLine);
}
}
}
}